c语言写一函数计算200!的值的后面有几个0
1 回答
饮歌长啸
TA贡献1951条经验 获得超3个赞
#include <stdio.h>
#include <stdlib.h>
//test函数返回任意正整数n的阶乘的尾部的0的个数
int test(int n)
{
int i = 0;
int j = 0;
int nCount = 0;
if (n >= 5)
{
for(i = 5; i <= n; i += 5)
{
for (j = 5; i /j*j == i ; j *= 5)
{
nCount++;
}
}
}
return nCount;
}
int _tmain(int argc, _TCHAR* argv[])
{
int n = 1;
printf("输入一个正整数:\n");
scanf("%d", &n);
printf("%d!尾部0的个数是:%d\n", n, test(n));
system("pause");
return 0;
}
我通过仔细分析问题,编制了一种算法,计算n!分解因子中5的个数即是n!尾部0的个数,编了以上程序进行运算,得出200!的尾部有49个0,不知道对不对,楼主参考。
- 1 回答
- 0 关注
- 739 浏览
添加回答
举报
0/150
提交
取消