锐捷的考题 1000!后面有多少个0?

gxd305 2005-10-29 02:52:29
程序如下
/*
能被625整除的加4
能被125整除的加3
能被25整除的加2
能被5整除的加1
以上不能重复计数
也可以这样算
能被625整除的加1
能被125整除的加1
能被25整除的加1
能被5整除的加1
必须重复计数
*/



#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

void main()
{
int i = 1 , count = 0 ;
for( i = 1 ; i <= 1000 ; i++ )
{
if( i%625 == 0 )
{
count += 4 ;
}
else if( i % 125 == 0 )
{
{
count += 3 ;
}
}

else if( i % 25 == 0 )
{
{
count += 2 ;
}

}
else if( i % 5 == 0 )
{
{
count ++ ;
}
}
}

printf("%d",count) ;
getch();
}
...全文
500 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
luolovegui 2006-02-15
  • 打赏
  • 举报
回复
楼主有点疯,虽然没错,但是要是是10000000,你不要算出个好多加几的,其实能被5除加1就行了。

这样就行了,看我写的。

#include <iostream.h>

void main(void)
{
int n = 1000;
int count = 0;
int k;

for(int i=1; i<=n; i++)
{
k = i;
while(k % 5 == 0)
{
k = k / 5;
count++;
}
}
cout<<count<<endl;
}

答案为:249

249

社区成员

发帖
与我相关
我的任务
社区描述
其他产品/厂家
社区管理员
  • 其他
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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