Формула произведения нечетных чисел

Формула произведения нечетных чисел

Немного теории
Среди олимпиадных задач для 5-6 классов обычно особую группу составляют такие, где требуется использовать свойства чётности (нечётности) чисел. Простые и очевидные сами по себе эти свойства легко запоминаются или выводятся, и часто у школьников не возникает каких-либо сложностей при их изучении. Но порой применить эти свойства и, главное, догадаться, что именно их надо применить для того или иного доказательства, бывает непросто. Перечислим здесь эти свойства.

Рассматривая с учениками задачи, в которых следует воспользоваться этими свойствами, нельзя не рассмотреть и такие, для решения которых важно знать формулы чётного и нечётного чисел. Опыт преподавания этих формул пяти-шестиклассникам показывает, что многие из них даже не задумывались, что любое чётное число, как и нечётное, можно выразить формулой. Методически бывает полезно озадачить ученика вопросом написать сначала формулу нечётного числа. Дело в том, что формула чётного числа выглядит понятной и очевидной, а формула нечётного числа является своего рода следствием из формулы чётного числа. А если ученик в процессе изучения нового для себя материала задумался, сделав паузу для этого, то он скорее запомнит обе формулы, чем если начинать с объяснение с формулы чётного числа. Так как чётное число — это то число, которое делится на 2, то его можно записать, как 2n, где n — целое число, а нечётное — соответственно как 2n+1.

Ниже приведены наиболее простые задачи на чётность/нечётность, которые бывает полезно рассматривать в виде лёгкой разминки.

1) Докажите, что нельзя подобрать 5 нечётных чисел, сумма которых равна 100.

2) Имеется 9 листов бумаги. Некоторые из них разорвали на 3 или 5 частей. Некоторые из образовавшихся частей снова разорвали на 3 или 5 частей и так несколько раз. Можно ли после нескольких шагов получить 100 частей?

3) Чётна или нечётна сумма всех натуральных чисел от 1 до 2019?

4) Докажите, что сумма двух последовательных нечетных чисел делится на 4.

5) Можно ли соединить 13 городов дорогами так, чтобы из каждого города выходило ровно 5 дорог?

6) Директор школы в своём отчёте написал, что в школе 788 учащихся, причём мальчиков на 225 больше, чем девочек. Но проверяющий инспектор сразу сообщил, что в отчёте допущена ошибка. Как он рассуждал?

7) Записано четыре числа: 0; 0; 0; 1. За один ход разрешается прибавить 1 к любым двум из этих чисел. Можно ли за несколько ходов получить 4 одинаковых числа?

8) Шахматный конь вышел из клетки a1 и через несколько ходов вернулся обратно. Докажите, что он сделал чётное число ходов.

9) Можно ли сложить замкнутую цепочку из 2017-ти квадратных плиток таким способом, как показано на рисунке?

10) Можно ли число 1 представить в виде суммы дробей

11) Докажите, что если сумма двух чисел есть число нечётное, то произведение этих чисел всегда будет числом чётным.

12) Числа a и b — целые. Известно, что a + b = 2018. Может ли сумма 7a + 5b равняться 7891?

13) В парламенте некоторой страны две палаты с равным количеством депутатов. В голосовании по важному вопросу приняли участие все депутаты. По окончании голосования председатель парламента сказал, что предложение принято большинством в 23 голоса, причём воздержавшихся не было. После чего один из депутатов сказал, что результаты сфальсифицированы. Как он догадался?

Читайте также:  Билайн обещанный платеж код

14) На прямой расположено несколько точек. Между двумя соседними точками поставили по точке. И так ставили точки дальше. После точки подсчитали. Может ли количество точек быть равным 2018?

15) У Пети есть 100 рублей одной купюрой, а у Андрея полные карманы монет по 2 и 5 рублей. Сколькими способами Андрей может разменять купюру Пети?

16) Запишите в строчку пять чисел так, чтобы сумма любых двух соседних чисел была нечётная, а сумма всех чисел была чётная.

17) Можно ли записать в строчку шесть чисел так, чтобы сумма любых двух соседних чисел была чётная, а сумма всех чисел была бы нечёитная?

18) В секции фехтования мальчиков в 10 раз больше, чем девочек, при этом всего в секции не более 20-ти человек. Смогут ли они разбиться на пары? Смогут ли они разбиться на пары, если мальчиков будет в 9 раз больше, чем девочек? А если в 8 раз больше?

19) В десяти коробках лежат конфеты. В первой — 1, во второй — 2, в третьей — 3, и т.д., в десятой — 10. Пете за один ход разрешается в любые две коробки добавлять по три конфеты. Сможет ли Петя за несколько ходов уравнять количество конфет в коробках? Может ли Петя уравнять количество конфет в коробках подкладывая в две коробки по три конфеты, если изначально коробок 11?

20) 25 мальчиков и 25 девочек сидят за круглым столом. Докажите, что у кого-то из сидящих за столом оба соседа одного пола.

21) Маша и несколько пятиклассников встали в круг, взявшись за руки. Оказалось, что каждый держит за руки либо двух мальчиков, либо двух девочек. Если в кругу стоит 10 мальчиков, то сколько там стоит девочек?

22) На плоскости расположено 11 шестеренок, соединенных по замкнутой цепочке, причём 11-я соединена с 1-й. Могут ли все шестеренки вращаться одновременно?

23) Докажите, что дробь есть целое число при любом натуральном n.

24) На столе лежат 9 монет, причём одна из них вверх олрлом, другие — вверх решкой. Можно ли все монеты положить вверх орлом, если разрешено одновременно переворачивать две монеты?

25) Можно ли в таблице 5х5 расставить 25 натуральных чисел так, чтобы во всех строках суммы были чётные, а во всех столбцах — нечётные?

26) Кузнечик прыгает по прямой: первый раз — на 1 см, второй раз на 2 см, третий раз на 3 см и т.д. Может ли он через 25 прыжков вернуться на старое место?

27) Улитка ползает по плоскости с постоянной скоростью, каждые 15 минут поворачивая под прямым углом. Докажите, что вернуться в исходную точку она сможет лишь через целое число часов.

28) В ряд выписаны числа от 1 до 2000. Можно ли меняя местами числа через одно, переставить их в обратном порядке?

29) На доске написаны 8 простых чисел, каждое из которых больше двух. Может ли их сумма равняться 79?

30) Маша и её друзья встали в круг. Оба соседа любого из детей — одного пола. Мальчиков 5, сколько девочек?

Читайте также:  Oktools расширение для odnoklassniki ru

Репетитор по математике в Москве, Александр Анатольевич, 8-968-423-9589, подготовка к олимпиадам 5-6 классов

Лист 21 Чётные и нечётные факториалы

Назовём чётным факториалом натурального числа n (n > 3) произведение всех чётных чисел, не превосходящих n (обозначим его n!!), а нечётным факториалом натурального числа n (n > 2) произведение всех нечётных чисел, не превосходящих n (обозначим его n. ).

Например, 6!! = , 6. = , 7!! = , 7. = .

1. Докажите, что: а) n!! × n. = n!; б) если n — чётное число, то n!! > n. ; в) если n — нечётное число, то n!! n. то n — чётное число; б) если n!! 3) произведение всех чётных чисел, не превосходящих n (обозначим его n!!), а нечётным факториалом натурального числа n (n > 2) произведение всех нечётных чисел, не превосходящих n (обозначим его n. ).

Например, 6!! = , 6. = , 7!! = , 7. = .

1. Докажите, что: а) n!! × n. = n!; б) если n — чётное число, то n!! > n. ; в) если n — нечётное число, то n!! n. то n — чётное число; б) если n!! 3) произведение всех чётных чисел, не превосходящих n (обозначим его n!!), а нечётным факториалом натурального числа n (n > 2) произведение всех нечётных чисел, не превосходящих n (обозначим его n. ).

Например, 6!! = , 6. = , 7!! = , 7. = .

1. Докажите, что: а) n!! × n. = n!; б) если n — чётное число, то n!! > n. ; в) если n — нечётное число, то n!! n. то n — чётное число; б) если n!! 3) произведение всех чётных чисел, не превосходящих n (обозначим его n!!), а нечётным факториалом натурального числа n (n > 2) произведение всех нечётных чисел, не превосходящих n (обозначим его n. ).

Например, 6!! = , 6. = , 7!! = , 7. = .

1. Докажите, что: а) n!! × n. = n!; б) если n — чётное число, то n!! > n. ; в) если n — нечётное число, то n!! n. то n — чётное число; б) если n!!

Понятие факториала известно всем. Это функция, вычисляющая произведение последовательных натуральных чисел от 1 до N включительно: N! = 1 * 2 * 3 *… * N. Факториал — быстрорастущая функция, уже для небольших значений N значение N! имеет много значащих цифр.

Попробуем реализовать эту функцию на языке программирования. Очевидно, нам понадобиться язык, поддерживающий длинную арифметику. Я воспользуюсь C#, но с таким же успехом можно взять Java или Python.

Итак, простейшая реализация (назовем ее наивной) получается прямо из определения факториала:

На моей машине эта реализация работает примерно 1,6 секунд для N=50 000.

Далее рассмотрим алгоритмы, которые работают намного быстрее наивной реализации.

Алгоритм вычисления деревом

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

Пусть нам нужно найти произведение последовательных чисел от L до R, обозначим его как P(L, R). Разделим интервал от L до R пополам и посчитаем P(L, R) как P(L, M) * P(M + 1, R), где M находится посередине между L и R, M = (L + R) / 2. Заметим, что множители будут примерно одинаковой длины. Аналогично разобьем P(L, M) и P(M + 1, R). Будем производить эту операцию, пока в каждом интервале останется не более двух множителей. Очевидно, что P(L, R) = L, если L и R равны, и P(L, R) = L * R, если L и R отличаются на единицу. Чтобы найти N! нужно посчитать P(2, N).

Читайте также:  Термометр гигрометр garin отзывы

Посмотрим, как будет работать наш алгоритм для N=10, найдем P(2, 10):

P(2, 10)
P(2, 6) * P(7, 10)
( P(2, 4) * P(5, 6) ) * ( P(7, 8) * P(9, 10) )
( (P(2, 3) * P(4) ) * P(5, 6) ) * ( P(7, 8) * P(9, 10) )
( ( (2 * 3) * (4) ) * (5 * 6) ) * ( (7 * 8) * (9 * 10) )
( ( 6 * 4 ) * 30 ) * ( 56 * 90 )
( 24 * 30 ) * ( 5 040 )
720 * 5 040
3 628 800

Получается своеобразное дерево, где множители находятся в узлах, а результат получается в корне

Реализуем описанный алгоритм:

Для N=50 000 факториал вычисляется за 0,9 секунд, что почти вдвое быстрее, чем в наивной реализации.

Алгоритм вычисления факторизацией

Второй алгоритм быстрого вычисления использует разложение факториала на простые множители (факторизацию). Очевидно, что в разложении N! участвуют только простые множители от 2 до N. Попробуем посчитать, сколько раз простой множитель K содержится в N!, то есть узнаем степень множителя K в разложении. Каждый K-ый член произведения 1 * 2 * 3 *… * N увеличивает показатель на единицу, то есть показатель степени будет равен N / K. Но каждый K 2 -ый член увеличивает степень еще на единицу, то есть показатель становится N / K + N / K 2 . Аналогично для K 3 , K 4 и так далее. В итоге получим, что показатель степени при простом множителе K будет равен N / K + N / K 2 + N / K 3 + N / K 4 +…

Для наглядности посчитаем, сколько раз двойка содержится в 10! Двойку дает каждый второй множитель (2, 4, 6, 8 и 10), всего таких множителей 10 / 2 = 5. Каждый четвертый дает четверку (2 2 ), всего таких множителей 10 / 4 = 2 (4 и 8). Каждый восьмой дает восьмерку (2 3 ), такой множитель всего один 10 / 8 = 1 (8). Шестнадцать (2 4 ) и более уже не дает ни один множитель, значит, подсчет можно завершать. Суммируя, получим, что показатель степени при двойке в разложении 10! на простые множители будет равен 10 / 2 + 10 / 4 + 10 / 8 = 5 + 2 + 1 = 8.

Если действовать таким же образом, можно найти показатели при 3, 5 и 7 в разложении 10!, после чего остается только вычислить значение произведения:

10! = 2 8 * 3 4 * 5 2 * 7 1 = 3 628 800

Осталось найти простые числа от 2 до N, для этого можно использовать решето Эратосфена:

Эта реализация также тратит примерно 0,9 секунд на вычисление 50 000!

Как справедливо отметил pomme скорость вычисления факториала на 98% зависит от скорости умножения. Попробуем протестировать наши алгоритмы, реализовав их на C++ с использованием библиотеки GMP. Результаты тестирования приведены ниже, по ним получается что алгоритм умножения в C# имеет довольно странную асимптотику, поэтому оптимизация дает относительно небольшой выигрыш в C# и огромный в C++ с GMP. Однако этому вопросу вероятно стоит посвятить отдельную статью.

Все алгоритмы тестировались для N равном 1 000, 2 000, 5 000, 10 000, 20 000, 50 000 и 100 000 десятью итерациями. В таблице указано среднее значение времени работы в миллисекундах.

График с линейной шкалой

График с логарифмической шкалой

Идеи и алгоритмы из комментариев

Хабражители предложили немало интересных идей и алгоритмов в ответ на мою статью, здесь я оставлю ссылки на лучшие из них

Исходные коды реализованных алгоритмов приведены под спойлерами

Ссылка на основную публикацию
Формат записи видео mov
MOV против MP4 Существует много форматов файлов, которые можно использовать для хранения ваших видео в зависимости от ваших потребностей. MOV...
Усилитель pioneer a 405r
Вероятно, госпожа Симметрия владела умами дизайнеров Pioneer, когда они разрабатывали внешний вид этой серии усилителей. Но, расположив в центре регулятор...
Усилитель амфитон у 002 характеристики
усилитель Амфитон -002 . Доработан по статье Жуковского '' Оверклоккинг Амфитона . '' и по рекомендациям Вова мастер звук. T.е....
Формат ммгг как писать
Сбербанк Онлайн позволяет проводить различные платежи прямо из дома с любого устройства, имеющего доступ в Интернет. Это существенно экономит время...
Adblock detector