200的阶乘有多少个0?

疾似云流 2008-03-31 12:31:50
希望能给出一个思路就醒了~



另外,哪位大虾还可以回答下这个问题:在5s内求得1000000的阶乘?(效率)
...全文
1405 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
hui211314dd 2011-04-19
  • 打赏
  • 举报
回复
#include "stdio.h"

int main()
{
int i,a,t;
int count =0;

printf("请输入阶乘数:\n");
scanf("%d",&a);

for(i=5;i<=a;i+=5)
{
++count;
t=i;
t = (t/5);
while(!(t%5))
{
++count;
t=t/5;
}
}
printf("末尾零的个数为%d\n",count);
return 0;
}
paidfighting 2008-03-31
  • 打赏
  • 举报
回复
正解,5的倍数
paidfighting 2008-03-31
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 Supper_Jerry 的回复:]
只算5就可以了。2不必算
[/Quote]

还包括10。。。
Supper_Jerry 2008-03-31
  • 打赏
  • 举报
回复
只算5就可以了。2不必算
Supper_Jerry 2008-03-31
  • 打赏
  • 举报
回复
算2 和5有多少个。
xmu_才盛 2008-03-31
  • 打赏
  • 举报
回复
等高人
houdongfeng 2008-03-31
  • 打赏
  • 举报
回复
200 / 5 + 200 / 25 + 200 / 125 = 49
Kratos 2008-03-31
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 steedhorse 的回复:]
哦,粗心了,看错了,当偶吗也没说。
200的阶乖,大不了编个程序,用动态数组或链表存数据,把结果算出来看看就是了。
[/Quote]
ms还要有效率,看样子你要到巨型机上编了o(n_n)o
晨星 2008-03-31
  • 打赏
  • 举报
回复
哦,粗心了,看错了,当偶吗也没说。
200的阶乖,大不了编个程序,用动态数组或链表存数据,把结果算出来看看就是了。
ttkk_2007 2008-03-31
  • 打赏
  • 举报
回复
lz问的是200的阶乘有多少个0,没说200的阶乘末尾有多少个0
kilvdn 2008-03-31
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 xax100000 的回复:]
C/C++ code
int count = 0;
while(a / 5)
{
count += a / 5;
a /= 5;
}



这样算!
[/Quote]
xax100000 2008-03-31
  • 打赏
  • 举报
回复

int count = 0;
while(a / 5)
{
count += a / 5;
a /= 5;
}

这样算!
晨星 2008-03-31
  • 打赏
  • 举报
回复
把所有的数做质因子分解,找到其中质因子5的个数。
即:200 / 5 + 200 / 25 + 200 / 125 = 49。
ouyh12345 2008-03-31
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 Supper_Jerry 的回复:]
算2 和5有多少个。
[/Quote]
jintianfree 2008-03-31
  • 打赏
  • 举报
回复
能整除5的数的个数,能得零的只有与五或零相乘。

64,652

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧