Ноль в конце образуется, если где-то в произведении встречается пара чисел 2 и 5 (2 * 5 = 10), так что достаточно посчитать количество ее вхождений. От 18 до 45 есть шесть делителей числа 5. И еще надо учесть, что 25 = 5 * 5 - т.е. соответствует двум вхождениям 5. Количество двоек предлагаю даже не считать, т.к. в данном случае их гарантированно больше, и для каждого числа 5 найдется пара. Получается 7 нулей.
В диапазоне от 18 до 45 все числа можно перебрать вручную. В общем случае это решалось бы следующим образом: Количество делителей числа K в диапазоне от 1 до X = целая часть от деления X / K. Соответственно, в диапазоне от X до Y - количество делителей в диапазоне от 1 до Y минус количество делителей от 1 до (X-1), т.е. Y / K - (X-1) / K. Число "вхождений" пятерок в диапазон = количество делителей 5 + количество делителей 25 + количество делителей 125 + ... и т.д. (соответственно 2, 4, 8, 16... для двоек) Вам нужно было бы посчитать количество вхождений двоек и пятерок и выбрать наименьшее из двух получившихся чисел
В диапазоне от 18 до 45 все числа можно перебрать вручную. В общем случае это решалось бы следующим образом:
Количество делителей числа K в диапазоне от 1 до X = целая часть от деления X / K. Соответственно, в диапазоне от X до Y - количество делителей в диапазоне от 1 до Y минус количество делителей от 1 до (X-1), т.е. Y / K - (X-1) / K.
Число "вхождений" пятерок в диапазон = количество делителей 5 + количество делителей 25 + количество делителей 125 + ... и т.д. (соответственно 2, 4, 8, 16... для двоек)
Вам нужно было бы посчитать количество вхождений двоек и пятерок и выбрать наименьшее из двух получившихся чисел