Pull to refresh
15
0
soomrack @soomrack

User

Send message
Я почти правильно написал:

25 = 5 * 5 = (x^2+1)(x^2+1) [при x = 2] = x^4 + 2 x^2 + 1

но поскольку коэффициент 2 недопустим, то его надо заменить на x, и получаем

x^4 + x^3 + 1

этот многочлен, действительно неприводим над Z.

Sorry, затупил, забыл, что от коэффициентов неравных 0 и 1 надо будет избавляться.
> На самом деле полином любой степени можно разложить на одночлены с в общем случае комплексными коэффициентами. То есть и разложение любого числа возможно — на комплексные множители. И вопрос в том, можно ли затем эти комплексные множители так свернуть перемножением части из них, чтобы получить целые множители…

Конечно, можно. Если коэффициенты вещественны, то все комплексные корни будут попарно сопряжены. Проблема в том, что быстрых алгоритмов нахождения комплексных корней тоже мало. Когда вы говорите о нахождении комплексных корней многочлена с целыми коэффициентами, причем (очевидно из условий задачи) корни многочлена должны быть целые (и мнимая, и вещественная часть), то фактически вы пытаетесь решить диофантово уравнение с двумя переменными. А для них расстояние от корня до нуля может иметь экспоненциальную зависимость относительно степени многочлена.

> Неприводимый многочлен может соответствовать составному числу.

Очевидно, что нет.

Еще надо добавить поточное копирование, незаменимая вещь в некоторых случаях.
dd if=/dev/sda | gzip | ssh user@host "dd of=disk.sda.gz"
ssh user@host "dd if=disk.sda.gz" | gzip -d | dd of=/dev/sda
>> «CISSP All-In-One Exam Guide» Она была написана ещё в 2011 году

хм.
1-е издание вышло в 2001 году

7-е издание вышло в 2016 году
8-е издание вышло в 2018 году

Устаревшие книги по безопасности могут принести очень много вреда.
Я помучавшись в своей жизни с кучей разных роутеров, в конце-концов для дома купил NWA1123-AC-HD ( www.zyxel.com/ru/ru/products_services/802-11ac-Wave2-Dual-Radio-PoE-Access-Point-NWA1123-AC-HD/specification ).

Статья очень хорошая. Я бы еще добавил важный бытовой совет для домашнего интернета: держите сеть 5GHz для скоростной работы (рабочий ноут), а 2.4GHz для всякой фигни (телефоны, принтеры, старое оборудование, и т.п.).

Ну и роутеры выбирайте по чувствительности приемников и поддержке стандартов, а антенны это второстепенно, они только форму покрытия меняют.
Мне новые фреймворки интересны тем, как они написаны: какая идеалогия положена в их основу, какие архитектурные решения выбраны, как решены проблемы, с которыми вы сталкиваетесь в вашем основном фреймворке… С этой т.з. я очень люблю смотреть чужой код, а тупо писать helloword'ы и пр тестовые штуки как-то странно, — в этом плане автор прав.
> High cohesion, low coupling. Основы структурного дизайна. 45 лет уже прошло. А мы все еще оперируем понятиями «маленький», «большой», «много», «мало», «логически законченный»…

Ну так 45 лет не для всех прошло :).

Я руководствуюсь принципами выделения кода в функцию:

1. Если код решает задачу, которую нужно решить еще в другом месте программы. Важно отметить, что это не следует из одинаковости кода! Код может быть одинаков, но решать разные задачи, в этом случае его не стоит выносить в отдельную функцию.

2. Уровень абстракции. Если для достижения уровня абстракции, на котором написан код требуется разделить его на функции, то это необходимо сделать. Обычно уровень абстракции на уровне модуля не меняется (если нужно поменять, значит стоит писать несколько модулей и объединять их в пакет).

Довольно часто это просто следствие написания алгоритма в псевдокоде:
1. если чайник не пустой -> вылить_чайник
2. налить_чайник
3. поставить_чайник_на_плиту
4. включить_плиту
5. если чайник кипит -> выключить_плиту
Только в современной России я это уже слышал в разных вариантах раз 10. Касперский предлагал, браузерную ОС предлагали, фантом был, под IoT недавно снова предлагали…

В итоге выльется все в аналог MINIX за 1.5 лярда рублей. Ну а что? Откроет человек-солдат научной роты Таненбаума и прямо по книге сделает.
Ага.
Лучше бы сделали свой аналог SELinux, больше бы пользы для безопасности было бы.
Но похоже это уже просто не по силам.
Ссылки? Ну с этим сложно. Стандартный, всеми рекомендуемый, набор книжек про алгоритмы покрывает 80% списка, но покрывает сильно избыточно.
Курс начнется весной 2018 г., соотв. первый раз он закончится осенью 2019 г., соответственно, к концу первого прочтения будет первое приближение по материалу и конспектам… Может удастся некоторое количество лекций отснять.
«не очень хорошо, т.к. затормозит написание кода, но и не очень плохо (если только ему не приходится постоянно это делать).»

Если не приходится постоянно это делать.
Программист должен уметь мыслить в категориях алгоритмов, а если ему надо гуглить каждый-каждый алгоритм, чтобы вспомнить его идеи и сложность, то это плохо.
Некоторые мои знакомые — могут. Но это скорее спорт, чем практика…
Но где я написал, что нужно все сходу «написать из головы»?
Цель «максимум» — чтобы человек знал «из головы» основные идеи и схему в общих чертах любого из перечисленных алгоритмов. Это позволяет ему эффективно планировать решение задач, адаптируя базовые алгортитмы под конкретные потребности.
Если рассматривать его как «сферического коня в вакууме» — то да, учить по списку с примерно часом на каждый пункт — довольно глупо.

Но это часть программы, и его составление и разбивка по семестрам делалась в соответствии с тем, что будет читаться вокруг. Практика программирования это фактически x2 по часам. Курс теории графов — еще +. Курс теории экстремальных задач… Курс теории сложности… Много чего. В итоге этот курс по многим строчкам это не столько теория, сколько связь между хорошей математикой и конкретной практикой — то, чем и является «алгоритм» — это еще не программа, но уже и не теорема.
Не странно, если вы не перестраиваете индекс при добавлении одного элемента (перестраивать — глупо). Это как раз очень хороший вопрос, чтобы человек понимал, что за структурой данных нужно следить, чтобы выполнялись хорошие свойства. Что индексы в загруженной на добавление данных бд нужно иногда обновлять.

Information

Rating
Does not participate
Registered
Activity