计算n!计算结果末尾有几个0,这个用c语言怎么编谢谢,求大神解释啊啊啊啊!………………
计算n!有多少个5,就有多少个0
比如
5! = 5 * 4* 3 * 2 * 1 = 120(有一个5)
15! = 15 * 14 * 13 * 12 * 11 * 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1
= 5 * 3 * ..... * 5 * 2 ..... * 5 *.....
=1307674368000(有3个5)
#include<stdio.h>
void main(){
int i = 0;
int n = 10;
int count = 0;
int j = 0;
for(i = 5 ; i <= n ; i++){
j = i;
while(j % 5 == 0){
count++;
j /= 5;
}
}
printf("%d\n",count);
}
先写一个递归的函数,得出n!的结果
然后将计算的结果除10,只要余数是0,也就是能除尽10,计数加一,然后继续除,直到余数不为0,也就是不能被10除尽,这个结果的最后一位不是0了,就退出循环