Сколькими нулями оканчивается произведение всех натуральных чисел от 12 до 40 включительно? И... Тупик...
Мнения разделились. 6, 7 нулей. По подсчетам Гугла - где то около 7-ми. Но Excell считает намного больше :-(
ХЗ но может так натуральное число это которое даёт в произведении 0 - а в ряде от 12 до 40 - это 2 числа - 5 и 0 - то бишь 15,20,25,30,35,40 - всего 6
но если это олимпиада для школьников, то наверно должно быть какое-то простое аналитическое решение (типа как у Рокки, только у меня в ЖМП почему-то получилось 7 нулей). Тоже мне олимпиады. победит тот у коро родители лучше гуглят и имеют большее количество шарящих в математике знакомых.
кажется решил. Практически по методу Рокки поумножал числа группами типа 12-15, 16-20 и т.д. получилоась что группа 21-25 почему-то дает два нуля, остальные по одному. Очевидно что при умножении всех этих произведений в результате будет 7 нулей, что опять же подтверждается расчетами ЖМП. но это не точно
А, я понял) Calculate! разложил произведение так: Имеем семь пятёрок. Но только шесть из них дадут ноль на конце. Соответственно, 6 нулей.
тащемта, я ваще посчтиал всё число при помощи чудо-gmp технологии. 20440398109264713963684746011607040000000 поэтому я круче ставьте мне плюсы но если это олимпиада для школьников, то я не одобряю ибо это читерство. в итоге талантливый школьник проиграет дебилу у которого родители знакомы с математиками
Всё проще)) Каждое произведение 5-ки и 2-ки даёт ноль на конце. У нас семь 5-ок и огромное количество 2-ек.
Почти правильно. Натуральное -- это положительное целое число: 1, 2, 3 и до бесконечности. Чтобы посчитать количество нулей нужно взять указанные числа -- 15,20,25,30,35,40 -- и умножить на предыдущее: Код (Text): 15 * 14 = 210 20 * 19 = 380 25 * 24 = 600 30 * 29 = 870 35 * 34 = 1190 40 * 39 = 1560 А затем считаем количество нулей. Ну или можно перемножить все эти числа. Но только нужно учесть, что стандартные целочисленные типы не подойдут, т.к. не хватит размерности. Можно, например, взять Python -- он этим не страдает: Код (Python): r = 12 for i in range(13,41): r = r * i print("%d = %d\n"%(i, r)) Спойлер: Вывод скрипта: 13 = 156 14 = 2184 15 = 32760 16 = 524160 17 = 8910720 18 = 160392960 19 = 3047466240 20 = 60949324800 21 = 1279935820800 22 = 28158588057600 23 = 647647525324800 24 = 15543540607795200 25 = 388588515194880000 26 = 10103301395066880000 27 = 272789137666805760000 28 = 7638095854670561280000 29 = 221504779785446277120000 30 = 6645143393563388313600000 31 = 205999445200465037721600000 32 = 6591982246414881207091200000 33 = 217535414131691079834009600000 34 = 7396204080477496714356326400000 35 = 258867142816712385002471424000000 36 = 9319217141401645860088971264000000 37 = 344811034231860896823291936768000000 38 = 13102819300810714079285093597184000000 39 = 511009952731617849092118650290176000000 40 = 20440398109264713963684746011607040000000 В выводе питоновского скрипта видна закономерность.
Ну вот как? Как решения этой задачи ожидать от пятиклассника обычной школы? Это не математическая школа. Это не олимпиада по математике. Это просто домашнее задание...