/*
给定一个整数N,那么N阶乘N!末尾有多少个0呢?例如:N=10, N!=3628800,N!的末尾有2个0.
*/
#include <stdio.h>
int main()
{
int i, ret, j, N;
ret = 0;
printf("输入N:");
scanf("%d", &N);
//解法一
for (i=1; i<=N; i++) {
j = i;
while (j%5 == 0) {
ret++;
j /= 5;
}
}
//解法二
/*
ret = 0;
while (N) {
ret += N / 5;
N /= 5;
}
*/
printf("%d!的阶乘末尾有%d个0!\n", N, ret);
return 0;
}
编程之美->N!末尾0个数
最新推荐文章于 2018-09-28 20:31:45 发布