Разбор
Факториал числа равен произведению чисел от до . Ноль в конце произведения появляется в результате перемножения и . Но поскольку при разложении на простые множители числа двоек больше чем пятерок, то количество нулей в конце равно количеству пятерок в разложении на простые множители. Количество этих пятерок равно
Суммирование происходит до тех пор, пока очередное слагаемое не станет равным .
Пример
Найдем количество нулей, которыми заканчивается
Третье слагаемое уже равно нулю, так как .
Реализация алгоритма
Читаем значение .
scanf("%d",&n);
Вычисляем по формуле ответ .
res = 0; while(n > 0) { n /= 5; res += n; }
Выводим количество нулей в конце
printf("%d\n",res);
Java реализация
import java.util.*; public class Main { public static void main(String[] args) { Scanner con = new Scanner(System.in); int n = con.nextInt(); int res = 0; while (n > 0) { n /= 5; res += n; } System.out.println(res); con.close(); } }
Python реализация
Читаем значение .
n = int(input())
Вычисляем по формуле ответ .
res = 0 while n > 0: n = n // 5 res += n
Выводим количество нулей в конце
print(res)