C эффектом присутствия: девять фильмов про мороз и стужу
В Красноярск пришла всамделишная зима — самое время окопаться дома на диване, закутаться в тёплый плед, сделать себе чашечку горячего какао и окунуться в мир фильмов, действие которых так или иначе связано с холодами и снегом. Ситуация за окном как раз добавит нужной остроты – 5D кинотеатр прямо у вас дома.
Сквозь снег
Прекрасная антиутопия корейского режиссёра Пон Чжун Хо с международным актёрским составом и с самим Крисом Капитан Америка Эвансом во главе.
«Сквозь снег» рисует будущее человечества в мрачных тонах: после экологической катастрофы Земля превратилась в ледяную пустыню, а остатки человечества оказались собраны на одном поезде, бесконечно мчащем сквозь снежные завалы.
Злая, остроумная и кровавая история про путешествие обычных людей из последних вагонов в голову состава, где окопалась элита, наверное, не очень подходит для умиротворённого вечера под одеялом, пока за окном падает идиллический снежок. Но если нужно такое кино, от которого можно схватить заряд мощного электричества, «Сквозь снег» подойдёт идеально.
Нечто
Классика мирового хоррора (а вы думали, в заснеженном холодном аду будут рождественские картины?), разворачивающаяся на удалённой от цивилизации полярной станции.
«Нечто» Джона Карпентера удачно совмещает в себе и психологическое напряжение лучшего триллера, и кровавое безумие безбашенного ужастика.
Этот фильм стоит прописывать себе в самые лютые холода: чтобы радоваться, что при всех космических температурах за бортом до визитов реальных инопланетных тварей, маскирующихся под людей, всё-таки ещё не дошло.
Морозко
А эту психоделическую классику советского сказкостроения нужно смотреть, обязательно приговаривая «Тепло ли тебе, девица? Тепло ли тебе, красная?».
Посмотреть знакомое всем с детства кино новыми глазами помогут отзывы американских телезрителей, столкнувшихся как-то с «Морозко» и основательно ошалевших.
Кстати, в 1965-м году «Морозко» принесло знаменитому советскому сказочнику Александру Роу гран-при на кинофестивале в Венеции.
Впусти меня
Зима вроде бы не играет в этой грустной шведской сказке взросления и первой любви какую-то значимую роль, но в то же время представить её в антураже иного времени года решительно невозможно.
Та зима, что мы видим во «Впусти меня» — пасмурная, муторная, давящая сверху невидимой подушкой, кажется, не закончится никогда; и эта атмосфера, помноженная на узнаваемую безысходность (шведская провинция 70-х подозрительно похожа на такую же советскую) лишь усиливает каждую эмоцию центральной истории. К этому фильму, возможно, потребуется что-нибудь покрепче какао.
Эксгумация
Зимой жизнь не останавливается — и иногда в самых неподходящих погодных условиях приходится принимать сложнейшие решения, как в этом политическом триллере, в котором президенту США, попавшему вместе со всей своей командой в снежную бурю, приходится принимать решение о ядерном ударе. Рассматривать это кино в качестве полноценного политического высказывания, пожалуй, не стоит — скорее, это такой сюжет из серии «А что, если?»
30 дней ночи
Если иногда в заснеженную ночь вам кажется, что за окном в холодной ночи шароборится кто-то непонятный – смотреть это кино про визит в заполярный городок на Аляске команды вампиров, пожалуй, не стоит. А вот тем, кто любит погорячее и поострее – вполне можно.
Любовь с первого взгляда
Когда на улице снег и холодрыга, под одеялом можно ведь не только сидеть или лежать, и уж совершенно точно необязательно делать это в одиночку. Начать можно, например, с просмотра этой симпатичной романтической комедии о том, как снежная буря вынуждает случайных знакомых, встретившихся через соцсети ради секса на одну ночь, провести чуть больше времени вместе.
Отель «У погибшего альпиниста»
Наш ответ фильму «Нечто» — камерный детектив в отрезанном от внешнего мира снежной бурей отеле, который постепенно перерастает в фантастический этюд о встрече с внеземной цивилизацией. Экранизация повести Стругацких вышла достаточно таинственной, напряжённой и стильной.
Живые
Продюсер большинства фильмов Стивена Спилберга Фрэнк Маршалл поставил этот фильм по реальной истории о регбийной команде, которой после авиакатастрофы их самолёта над Андами пришлось довольно продолжительное время выживать в заснеженных горах, не имея для этого никаких специальных ресурсов. Эта захватывающая и несколько жутковатая история подойдёт нам для нашего зимнего просмотра ещё и вот почему: в её названии содержится спойлер, и фильм этот о том, что даже в самых жутких условиях есть место надежде, что всё получится. Очень хорошая мысль для наступления зимы.
Хотите узнавать новости первыми?
Будем оповещать только о важных и самых интересных материалах
Хотите узнавать новости первыми?
Будем оповещать только о важных и самых интересных материалах
Источник: https://prmira.ru/article/c-effektom-prisutstviya-devyat-filmov-pro-moroz-i-stuzhu/
C++ – 20 лет победного несовершенства
Сегодня трудно даже поверить в то, что юбиляру – языку программирования C++, гибель предрекали мало того что неоднократно, так еще и очень убедительно. Последний раз юбиляра уверенно отправляли «на покой» 10 лет назад, когда многообещающий преемник – Java – как будто устранил все неисчислимые недостатки C++ и вроде как без потерь в производительности.
В краткой преамбуле к статье есть лежащий на поверхности один из верных ответов на вопрос о причинах живучести и неснижающейся популярности обладающих массой известных недостатков языков C и C++. Да, C++ и очень близкий к нему C критикуют много и заслуженно.
Но все альтернативы, увы, до сих предлагали «как будто» устранение всех их недостатков «вроде как» без потерь в производительности созданных программ. Можно до хрипоты спорить об этих «как будто» и «вроде как», можно бросаться цифрами, проводить тестирования – и все это будет впустую.
Потому как C++ исполнилось 20 лет, и вместе со своим предшественником C эти языки образуют инструментальную базу для громадной индустрии программного обеспечения: по некоторым оценкам, до 38% сегодняшних программных проектов реализуются на языке C++, а уж C буквально царит в мире ПО для неисчислимого количества встраиваемых компьютеров.
C 7 по 10 ноября в Лас-Вегасе, городе, который никогда не спит, прошли празднования 20-й годовщины языка С++. Бьярн Страуструп, Стенли Липпман, Андрей Александреску, Скотт Мейерс и многие другие гуру С++ произнесли спичи в честь юбиляра.
И хоть о юбилярах положено говорить много хорошего, мы откажемся от этого правила и для начала покажем самую малую долю того «ужасного обаяния C++», за которое этот язык (равно как и его предшественника C) одновременно и любят, и уважают, и ненавидят.
Если вы не знаете C или C++, не отчаивайтесь – пример будет крохотным, и мы его разберем по косточкам, так, чтобы самое ценное в нем – натуральный ужас, стало понятным даже тем, кто не знает, чего надо бояться. Для начала маленькое отступление. В языках программирования высокого уровня обычно используют блочную структуру программы.
Блоки позволяют, например, локализовать переменные, перекладывая заботы об управлении памятью на компилятор. Так, память, выделенная под переменные, объявленные в начале блока, обычно автоматически освобождается перед завершением блока.
Естественно, в основе такого принципа лежит простой механизм стека – в начале блока ссылка на каждую объявленную в нем переменную записывается на вершину специального стека (обычно невидимого для прикладного программиста), а в конце блока ссылки автоматически снимаются со стека, и адресуемые ими участки памяти помечаются как свободные.
Естественно, для того чтобы такая блочная структура могла вообще работать, необходимо строгое соблюдение требования вложенности блоков. Только в этом случае после выхода из вложенного блока на стеке управления памятью автоматических переменных останутся адреса наружного (по отношению ко вложенному) блока, и все будет работать в соответствии с описанной логикой.
Практически во всех языках программирования высокого уровня это правило свято соблюдается. Для многих языковых конструкций есть правила, требующие строго определенной их иерархической блочной структуры. И в C++, и в C в том числе. В этих языках для обозначения начала и конца блока используются символы “itc_drupal_” и “” соответственно. А теперь – обещанный ужас:
switch (len % 8) itc_drupal_ case 0: itc_drupal_ do itc_drupal_ HAL_IO_PORT = *pSource++; case 7: itc_drupal_ HAL_IO_PORT = *pSource++; … case 1: itc_drupal_ HAL_IO_PORT = *pSource++; while (–n > 0);
Для понимания, что это – натуральный ужас, вам вовсе не надо знать C++ или С. Просто следите за соблюдением правила вложенности блоков. Видите? Блоки, которые, по логике вещей, должны быть на одном уровне иерархии (они начинаются со слова case), почему-то на одном уровне не находятся.
И между тем это совершенно законный работающий код на С++. Более того, в C++ законность работоспособности данного кода унаследована от C. Именно на C этот великолепный кошмар был изобретен 9 ноября 1983 г. (кстати, еще один юбилей!) программистом Томом Даффом.
Для подтверждения законности этого кода в свое время потребовалось личное участие Ларри Рослера, председателя подкомитета ANSI по стандартизации языка C.
А в оригинальном электронном письме Тома Даффа более чем двадцатилетней давности, где он сообщает об изобретении данного кода, можно найти слова, которые дают еще один ответ на поставленный в начале статьи вопрос: «Я поражен – после 10 лет программирования на C в этом языке еще остаются неразведанные мною уголки».
C++ : вчера и сегодня
Созданный там же, где и предшественник, язык C, – в Исследовательском центре компьютерных наук Bell Labs, С++ в полной мере повторил и приумножил успех С. Причем сразу следует заметить, что успехи и C, и C++, основывались исключительно на свойствах этих языков как инструментов.
Ведь по сути никакой коммерческой «раскруткой» языков программирования компания AT&T, в состав которой входила Bell Labs, не занималась. C распространялся как бы «в нагрузку» к ОС UNIX, C++ вообще фактически не имел «товарного» характера.
Более того, AT&T своевременно поддержала политику стандартизации открытых спецификаций этих языков.
Благодаря этой модели распространения разработок в области языков программирования, принятой AT&T, сегодня доступны не только высококлассные коммерческие компиляторы С и С++, но и великолепный GCC, ставший главным инструментом в мире Open Source.
Впрочем, достоинства модели распространения ПО – это вещь весьма абстрактная. А у языка C++ все-таки есть вполне конкретный автор, которого замечательная во всем модель свободного распространения открытых стандартных спецификаций в какой-то мере обделила.
Американец датского происхождения, получивший образование в Дании и Англии, Бьярн Страуструп никаких отчислений за спецификации C++ не получает.
Благо специфика любого языка программирования – сложность (даже самый «простой» язык в действительности очень сложен, что отлично демонстрируется хоррор-программой Тома Даффа).
Ну а там, где люди вынужденно сталкиваются со сложностью, всегда есть потребность в единственном универсальном средстве борьбы с нею – в документации. Изданные во множестве стран мира суммарным легальным тиражом свыше миллиона экземпляров сложные книги Бьярна Страуструпа о сложном языке C++ – лучшее тому подтверждение.
Основатель Netscape Марк Андрессен на примере Java охарактеризовал результаты попыток создать сверхоснащенный язык программирования на все случаи жизни: «Java была намного более дружелюбным по отношению к программисту языком, чем С или С++ была несколько лет назад, до тех пор, пока ее не сделали такой сложной. Скоро, вероятно, ее будет еще труднее изучить, чем С++».
В технологическом аспекте создание C++, в принципе, довольно обычная история. Бьярн Страуструп для создания первого компилятора использовал распространенный прием, известный под названием «метода раскрутки».
На языке C Страуструп написал препроцессор, преобразующий подмножество нового языка в обычный язык C. На подмножестве C++ и был разработан первый транслятор с C++ и затем «раскручен» в C-код, пригодный к компиляции в исполняемую программу.
Целевой машиной для первого C++ транслятора была… любая машина, способная выполнять любой C-компилятор, потому что результатом трансляции был C-код.
Самым интересным в C++, пожалуй, является замысел Страуструпа создать одновременно высокоуровневый язык, несоизмеримо более высокоуровневый по сравнению с C, и в то же время как максимально приближенный по низкоуровневым возможностям к C, так и в разумной степени совместимый с C.
Возможно, именно благодаря такой затее современный C++ – вовсе не «C с классами» и даже не «объектно-ориентированный язык». C++ – это так называемый «полипарадигменный язык». Сам Бьярн Страуструп слово «парадигма» в отношении своего детища употреблять не любит и предпочитает говорить о различных стилях программирования, допустимых при использовании С++.
Структурное программирование, программирование с применением абстрактных типов данных, обобщенное и функциональное программирование – в принципе, в умелых руках C++ позволяет использовать как каждый из стилей (или парадигм), так и комбинировать их в одном программном проекте. Естественно, такая гибкость дается немалой ценой.
Особенно если учитывать, что основные затраты на язык программирования – это вовсе не стоимость приобретения лицензионного компилятора, а время на изучение собственно языка. А вот сколько времени нужно на то, чтобы виртуозно овладеть С++, сказать очень трудно.
Если несоизмеримо более простой C в свое время поразил Тома Даффа, C-программиста с десятилетним стажем, обилием «неразведанных уголков», то что тогда можно говорить о С++, отдельным техникам которого посвящены такие непростые книги, как 550-страничное руководство по шаблонам «C++ Templates: The Complete Guide»? И между тем, даже при этом уровне сложности на юбилейной конференции, посвященной 20-летию С++, Бьярн Страуструп отметил, что С++ уже начал утрачивать, как бы это лучше сказать, «крутизну»: «C++ стал мощным, отработанным инструментом, но использовать его уже не круто (no cool)». Возможно, лишение С++ ореолов «крутизны» и «ковбойства» пойдет только на пользу. И на пользу не столько языку, сколько использующим его программистам и организациям. По крайней мере, период, когда С++ выбирался языком реализации исключительно потому, что это было «круто», безвозвратно прошел. А ведь такой период в истории языка был, и именно благодаря ему столь убедительно звучали голоса предрекающих скорый уход C++ с арены популярных инструментальных средств.
С++ завтра, или 0х уж этот С++0x
Сегодняшний С++ многим кажется языком, пик развития которого уже в прошлом. И, по большому счету, это мнение верно. 20 лет – срок, достаточный для достижения зрелости даже такой сложной разработкой. И все-таки говорить о том, что развитие языка после стандартизации ISO в 1998 г.
полностью прекратилось, нельзя. В будущем более чем трехмиллионная армия С++-программистов получит обновленный инструмент, отвечающий формирующемуся стандарту C++0x. Говорить о точной дате появления нового стандарта и, тем более, о времени выхода компиляторов, понимающих C++0x C++, пока очень трудно.
Дело в том, что C++ используется в самых разнообразных областях применения, и, соответственно, от разнообразия желанных улучшений просто рябит в глазах.
Однако разработчики стандартных спецификаций строго следуют важнейшему правилу, заложенному в идеологию C++ его создателем Бьярном Страуструпом: «C++ – это универсальный язык, пригодный к использованию во многих прикладных областях благодаря удачному компактному набору общеупотребимых средств».
Если вспомнить судьбу языков, в которые включались специализированные средства (например, языковая поддержка потокового программирования), можно уверенно говорить о безошибочности выбора Страуструпа.
Вторая сложность в формировании С++0x кроется в специфике типизации, принятой в нынешнем С++. С одной стороны, требование к повышению надежности разрабатываемых программ вынуждает создателей спецификаций языка как можно строже относиться к системе типов и к контролю за ними.
В идеале, конечно, язык со строгой типизацией был бы просто замечательным. Но это в идеале.
В реальной жизни программистам необходимы одновременно и возможность создания абстрактных типов, и возможность, например, доступа к ячейкам памяти или регистрам, расположенным в адресном пространстве по известным адресам.
В реальной жизни программисты стараются использовать как можно большую часть ранее написанного кода повторно, и строгая типизация в С++0x привела бы к тому, что все исходные тексты, где используются массивы, указатели, объединения, явные и неявные приведения типов, пришлось бы отправить в мусорную корзину.
И наконец, к несовершенству реальной жизни следует отнести и жесткие требования к высокой производительности полученного с помощью компиляции кода.
Неважно, что сейчас эпоха «дешевых гигагерцев» – далеко не во всех областях применения эти гигагерцы нужны, далеко не везде компьютерам разрешена работа «обогревателем по совместительству». Иными словами, требование к минимальности среды времени исполнения C++0x остаются в силе.
С++0x сохраняет минимальной дистанцию между программистом и «железом», отображая один в один целевую машину языковыми средствами. Машинные слова, байты, регистры – все это в C++0x остается.
Наряду с принципами, по которым формируется C++0x, уже известно и о некоторых конкретных нововведениях. Так, в стандартной библиотеке появится поддержка кортежей – tuples. Кортежи – это коллекции определенного количества (до десяти) объектов разных типов.
Обычно они поддерживаются в интерпретируемых языках и позволяют эффективно возвращать множества значений из функций, проводить множественные сравнения или присваивания и прочие групповые операции над гетерогенными наборами данных.
Перечень базовых операций с кортежами включает механизмы их создания, определения числа элементов и типа каждого элемента, а также доступа как к кортежу в целом, так и к каждому его элементу.
Реализацию кортежей в C++0x можно считать очень удачной, так как она фактически не потребовала модификаций ядра языка.
К полезным модификациям также следует отнести «облатку» над ссылками С++. В текущих спецификациях языка объекты типа «ссылка» не являются равноправными с прочими объектами базовых типов. Так, например, ссылки нельзя использовать в качестве параметров в шаблонных конструкциях.
В некоторых случаях такое неравноправие ссылок, например с указателями, вынуждало программистов заниматься различными ухищрениями. В С++0x от несправедливости решили избавляться малой кровью и ввели специальный класс-«облатку» (reference_wrapper), позволяющий скрыть в объекте класса ссылку так, чтобы одновременно сохранить ее свойства и устранить ограничения.
Реализация «облатки» такова, что из ссылок на объекты разных типов в С++0x можно, к примеру, формировать кортежи.
Еще одно нововведение С++0x – возвращение в язык старого ключевого слова auto, но в совершенно новом качестве. Идея нового auto очень проста и заключается в ответе на вопрос: какова степень избыточности следующего выражения:
const double Salary = 2563.92 ;
Если немного подумать, то почти вся левая часть, касающаяся объявления переменной, избыточна. Потому как информация о типе совершенно явно указывается в правой части, в значении, используемом для инициализации переменной. Соответственно, в С++0x можно будет полениться и доверить компилятору дописать очевидное, заменив его словом auto:
const auto Salary = 2563.92 ;
В примерах, где в правой части инициализаций использовались данные в явной форме, ценность auto невелика. Но если вместо явных данных использовать вызовы функций, объявление переменной с auto-определением типа может помочь избежать тонких ошибок, особенно в случаях, когда могут сработать механизмы приведения типов по умолчанию, а они-то как раз и нежелательны.
В общем, возвращаясь к оценкам перспектив развития языка, можно уверенно говорить, что революции с появлением C++0x не произойдет. Что-то будет удобнее, что-то – лучше, все сделанное ранее останется работоспособным. И это не может не радовать.
Источник: https://itc.ua/articles/c_20_let_pobednogo_nesovershenstva_22622/
Издан альбом-каталог c украшениями Чайковского
В конце апреля-мае этого года в подмосковном городе Клин широко отмечалось 175-летие легендарного Петра Ильича Чайковского. С Клином величайшего русского композитора связывает то, что именно здесь он прожил последние 10 лет своей жизни. В Клине он написал немало знаковых произведений.
В этом подмосковном городе открыт мемориальный музыкальный музей им. Чайковского. По случаю торжества в конце апреля в Музее-заповеднике проводилось немало громких мероприятий, среди которых главное место принадлежало всероссийской конференции.
Кроме того, в честь этого знаменательного события Музей в Клине выпустил альбом-каталог с произведениями ювелирного искусства, когда-то принадлежащими Чайковскому. Этот альбом получил название «Приношение. Произведения ювелирного искусства в личном собрании Чайковского».
Целью выпуска этого ювелирного каталога в Подмосковье являлось желание представить большему числу поклонников творчества композитора, а также всем ценителям украшений возможность лично ознакомиться с этой драгоценной коллекцией. Коллекция ювелирных украшений Чайковского, представленная широкой общественности, позволила по-новому взглянуть на личность композитора, узнать о его вкусе и предпочтениях из мира искусства, несвязанного с музыкой.
Альбом-каталог «Приношение» выпущен на русском, итальянском и английском языках. Каталог, продолжающий публикацию мемориальных коллекций музея, существенно расширил имеющиеся познания о жизни и творчестве Чайковского.
В каталоге представлено множество серебряных украшений и утвари, а также изделия, оправленные в золото и украшенные драгоценными камнями. Условно коллекцию Чайковского можно разделить на 3 группы:
1) подношения и подарки, которые Петр Ильич получал, выступая с концертами в разных уголках мира. Среди них есть: лавровые венки из серебра, дирижерские драгоценные палочки (из золота и серебра), папки-адреса, кружки из серебра, бювары, спичечницы, солонки, дорожные наборы, которые уже в XIX веке перестали использовать по назначению и они превратились в подарочные драгоценные наборы;
2) драгоценные оклады и ценные украшения 2-х икон, которые располагались в спальне и кабинете-гостиной в доме композитора в Клине;
3) столовое серебро и утварь.
В коллекции Чайковского можно выделить несколько украшений, изготовленных известными в XIX веке в Подмосковье и столице ювелирами: В.С. Семеновым, И.П. Сазиковым, И.П. Хлебниковым и П.А. Овчинниковым. Этим ювелирным изделиям характерно стремление авторов возродить национальную традицию.
Это выражалось в особых формах изделий, в использованном для декорирования орнаменте, созданных в исконно «русском стиле».
Для этих изделий характерно широкое использование эмали, гравюр с изречениями (пословицы и поговорки) и изображениями памятников архитектуры.
Все уникальные ювелирные изделия появлялись в жизни величайшего композитора неслучайно – все они были связаны с каким-либо важным моментом в его жизни.
Источник: http://www.jevel.ru/article/izdan_albom-katalog_c_ukrasheniyami_chaykovskogo_691.html
math4school.ru
Немного теории
Простое число – это натуральное число, имеющее ровно два различных натуральных делителя: единицу и само себя. Все остальные натуральные числа, кроме единицы, называются составными. Таким образом, все натуральные числа больше единицы разбиваются на простые и составные. Изучением свойств простых чисел занимается теория чисел.
Перечень первых 1229-ти простых чисел приведён в таблице простых и парных простых чисел, не превосходящих 10000.
Приведём некоторые свойства простых чисел.
-
Основная теорема арифметики. Каждое натуральное число, большее единицы, представимо в виде произведения простых чисел, причём единственным способом с точностью до порядка следования сомножителей.
-
Простых чисел бесконечно много.
- В натуральном ряде чисел можно найти последовательности не содержащие простых чисел любой длины.
-
Если p – простое, и p делит a·b, то p делит a или b.
-
Mалая теорема Ферма. Если p – простое, a – натуральное, то ap – a делится на p.
-
Теорема Вильсона. Натуральное p > 1 является простым тогда и только тогда, когда (p – 1)! + 1 делится на p.
-
Постулат Бертрана. Если n > 1 – натуральное, то существует простое p, такое, что n < p < 2n.
-
Теорема Дирихле о простых числах в арифметической прогрессии. Любая арифметическая прогрессия вида a, a + q, a + 2q, a + 3q, … , где a, q > 1 – целые взаимно простые числа, содержит бесконечно много простых чисел.
-
Теорема Ферма. Каждое простое число вида 4k + 1 есть сумма двух квадратов натуральных чисел.
-
Всякое простое число, большее 3, представимо в виде 6k + 1 или 6k – 1, где k – некоторое натуральное число.
-
Число, следующее за простым, не может быть квадратом или более высокой степенью с основанием, большим 2.
-
Число, предшествующее простому, не может быть кубом или более высокой нечётной степенью с основанием, большим 1.
Задачи с решениями
1. Три простых числа, каждое из которых больше 10, образуют арифметическую прогрессию. Докажите, что разность прогрессии делится на 6.
Все данные простые числа нечётные, поэтому их разность делится на 2. Покажем, что она делится и на 3. Пусть данные числа a, a + d, a + 2d. Ни одно из них не делится на 3, поэтому при делении на 3 даёт остаток или 1, или 2.
Следовательно, по крайней мере, два из этих чисел дают при делении на 3 одинаковые остатки. Разность этих чисел, равная d или 2d, делится на 3. Поскольку 2 на 3 не делится, то d делится на 3.
Итак, разность прогрессии, которая делится на взаимно простые числа 2 и 3, делится на 6, что и требовалось доказать.
2. Докажите, что для произвольного натурального числа n найдётся натуральное m такое, что nm + 1 – составное число.
Можно выбрать m = n + 2, тогда
nm + 1 = n(n + 2) + 1 = n2 + 2n + 1 = (n + 1)2
является составным числом.
Или , например, определить m так: если n = 1, то m = 3, в противном случае m = n2.
3. Найдите все целые числа n, для которых модуль значения трёхчлена n2 – 7n + 10 будет простым числом.
Так как
|n2 – 7n + 10| = |n –2| · |n – 5|,
то следует искать такие n при которых один из множителей последнего произведения равен 1, а второй является простым числом. Этому требованию удовлетворяют n = 3 и n = 4.
Ответ: n = 3, n = 4.
4. Докажите, что если числа
а) m и m2 + 2 простые, то число m3 + 2 тоже простое;
б) р, р – 10, р + 10 простые, то число р – 2 тоже простое.
а) Любое простое число m, отличное от 3, можно представить в виде 3n+1 или в виде 3n–1, где n – некоторое натуральное число. В первом случае можно записать
m2 + 2 = 9n2 + 6n +3,
во втором –
m2 + 2 = 9n2 – 6n +3,
Так как m > 2, то в любом случае число m2+2 больше 3 и делится на 3, а значит является составным. Следовательно, число m2+2 может быть простым, только если m = 3. В этом случае m2+2 = 11 – простое число, m3+2 = 29 – тоже простое число, что и требовалось доказать.
б) Так как р – 10 = (р – 1) – 9 и р + 10 = (р + 1) + 9, то числа р – 10 и р – 1 при делении на 3 имеют одинаковые остатки, и числа р + 10 и р + 1 при делении на 3 имеют одинаковые остатки.
Из трёх последовательных чисел р – 1, р, р + 1 одно и только одно делится на 3. С учётом выше сказанного, то же утверждение верно для чисел р – 10, р, р + 10. Так как эти числа простые, то р – 10 = 3 и р = 13, поэтому р – 2 = 11 – простое число, что и требовалось доказать.
5. Сколько раз входит двойка в разложение на простые множители произведения
(n + 1) · (n + 2) · (n + 3) · . . . · (2n – 1) · 2n ?
Ответ на поставленный вопрос получим из следующих преобразований:
Ответ: n раз.
6. Найдите все простые p такие, что число p2 + 11 имеет ровно 6 различных делителей (включая единицу и само число).
Заметим, что p2 + 11 = p2 –1 + 12 = (p – 1)(p + 1) + 12 .
Если p > 5 и простое, то числа p – 1 и p + 1 оба четные, и одно из них кратно трем. Поэтому произведение (p – 1)(p + 1) делится на 12, следовательно, p2 + 11 также делится на 12, а значит, имеет не менее семи делителей (6 делителей числа 12 и само число p2 + 11 > 12 ). Осталось проверить p = 2 и p = 3.
Если p = 2, то p2 + 11 = 22 + 11 = 15 имеет 4 делителя (1, 3, 5, 15).
Если p = 3, то p2 + 11 = 32 + 11 = 20 имеет 6 делителей (1, 2, 4, 5, 10, 20).
Ответ: p = 3.
7. Найти все натуральные числа n, для которых каждое из шести чисел
n + 1, n + 3, n + 7, n + 9, n + 13 и n + 15
является простым.
Рассмотрим варианты. Для n = 1 число n + 3 = 4 составное.
Для n = 2 число n + 7 = 9 составное.
Для n = 3 число n + 1 = 4 составное.
Для n > 4 все наши числа больше 5 и по крайней мере одно из них делится на 5, так как числа 1, 3, 7, 9, 13 и 15 при делении на 5 дают соответственно остатки 1, 3, 2, 4, 3 и 0, то есть все возможные остатки, откуда следует, что и числа
n + 1, n + 3, n + 7, n + 9, n + 13 и n + 15
при делении на 5 дают все возможные остатки и, следовательно, хотя бы одно из них делится на 5 и как число, большее пяти (так как n > 4), является составным.
Но для n = 4 мы получаем простые числа 5, 7, 11, 13, 17 и 19.
Ответ: n = 4.
8. Доказать, что каждое простое число вида 4k + 1 является длиной гипотенузы прямоугольного треугольника, стороны которого выражаются натуральными числами.
Согласно известной теореме Ферма каждое простое число вида 4k + 1 есть сумма двух квадратов натуральных чисел.
Поэтому для такого р верно, что р = а2 + b2, где а и b – некоторые натуральные числа и притом различные (так как р – нечетное), например, а > b.
Отсюда р2 = (а2 – b2)2 + (2ab)2, то есть р является гипотенузой прямоугольного треугольника, катетами которого являются натуральные числа а2 – b2 и 2ab.
Так, например,
52 = 32 + 42, 132 = 52 + 122, 172 = 152 + 82, 292 = 212 + 202.
Замечание. Другие примеры подобных троек можно найти в таблице пифагоровых чисел с наибольшим числом не превосходящим 110 и в таблице примитивных пифагоровых чисел со средними числами, не превосходящими 256.
9. Сколькими способами можно раскрасить круг, разбитый на р равных секторов с помощью n красок, если р – простое число и каждый сектор раскрашиваем одной краской? Две раскраски, совпадающие при повороте круга, считаем одинаковыми.
Каждый сектор можно раскрасить в любой из n цветов, поэтому для круга с р секторами получим np раскрасок, среди которых (np – n) не одноцветных. Каждая из этих раскрасок поворотами переходит в (р – 1) одинаковую с ней, значит, существенно различных не одноцветных раскрасок будет (np – n)/p, откуда общее число раскрасок равно n + (np – n)/p.
Ответ: n + (np – n)/p.
10. Доказать, что для любого простого числа p > 5 уравнение х4 + 4x = p в целых числах не имеет решений.
Докажем, что если для некоторого целого значения х число
f(x) = х4 + 4x
является целым, то это число либо не превосходит пяти, либо является составным.
Действительно, если х < 0, то число f(x) не целое.
Далее, при х = 0 и х = 1
f(0) = 04 + 40 < 5, f(1) = 14 + 41 = 5.
Если x = 2k (k – натуральное число), то число
f(x) = 24k4 + 42k = 24( k4 + 42(k–1))
является составным.
Наконец, если x = 2k + 1 (k – натуральное число), то число
f(x) = x4 + 4·42k = (x4 + 4×2(2k)2 + 4(2k)4) – 4×2(2k)2 =
= (x2 + 2(2k)2)2 – (2·x·2k)2 =
= (x2 + 2·x·2k + 2(2k)2)·( x2 – 2·x·2k + 2(2k)2) =
= ((x + 2k)2 + 22k)·((x – 2k)2 + 22k)
так же является составным, поскольку каждый из двух сомножителей последнего произведения больше 1 (ибо 22k > 1 при k > 0).
Таким образом, если число p > 5 простое, то равенство х4 + 4x = p не выполняется ни при каких целых значениях х.
Задачи без решений
1. Известно, что р, р + 10, р + 14 – простые числа. Найдите число р.
2. Докажите, что число
а) 210 + 512;
б) n4 + 64;
в) 4545 + 5454;
является составным.
3. Найдите все простые р для которых число р2 + 14 так же будет простым числом.
4. Докажите, что уравнение х2 + х + 1 = р·у имеет решение в целых числах (х, у) для бесконечного числа простых р.
5. Введём обозначение для суммы первых n простых чисел через Sn:
Sn = 2 + 3 + 5 + . . . + рn.
Докажите, что между числами Sn и Sn+1 всегда существует число, являющееся полным квадратом.
Источник: http://math4school.ru/prostie_i_sostavnye_chisla.html