您的位置:首页 > 编程语言 > C语言/C++

C语言(29)阶乘尾数零的个数

2017-10-30 09:55 302 查看
输入一个正整数n,求n!(即阶乘)末尾有多少个0? 比如: n = 10; n! = 3628800,所以答案为2 

输入描述:

输入为一行,n(1 ≤ n ≤ 1000)



输出描述:

输出一个整数,即题目所求



输入例子1:

10



输出例子1:

2

#include <stdio.h>

/* n!阶乘末尾后的零的个数 */
/* 得到尾数为零的情况只可能是2*5, 为2的因子充足,所以只需要看5的个数 */
/* 25*/
int main(int argc, char **argv)
{
int n,i,s,m;
scanf("%d", &n);

s=0;
for(i=5; i<=n; i += 5){
m=i;
while(m%5 == 0){
m /= 5;
s++;
}
}
printf("%d\n", s);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: