Факторіал числа дорівнює добутку чисел від до . Нуль в кінці добутку з’являється в результаті перемноження і . Але оскільки при розкладі на прості множники числа двійок більше ніж п’ятірок, то кількість нулів в кінці дорівнює кількості п’ятірок в розкладі на прості множники. Кількість цих п’ятірок дорівнює
Суми відбуваються до тих пір, поки черговий доданок не стане рівним .
Приклад
Знайдемо кількість нулів, якими закінчується
Третій доданок вже дорівнює нулю, так як 100 < 5^3 = 125.
Реалізація алгоритму
Читаємо значення .
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)