为了账号安全,请及时绑定邮箱和手机立即绑定

c语言写一函数计算200!的值的后面有几个0?

c语言写一函数计算200!的值的后面有几个0?

C
慕后森 2018-12-31 09:05:56
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,不知道对不对,楼主参考。



查看完整回答
反对 回复 2019-01-16
  • 1 回答
  • 0 关注
  • 739 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信