Description
1000的阶乘1*2*3*...*1000结果是一个很大的数,求这么大的数末尾有多少个连续的零。
Input
本题有多组测试数据,每组测试数据占一行。
每组数据含有一个正整数N。(N不大于1000000)
N=-1结束。
Output
输出一个整数,表示N!的末尾有多少个连续的零。
Sample Input
1 5 1000
Sample Output
0 1 249
Source:
#include < iostream >
#include < math.h >
using namespace std;
int zero( int n)
... {
int sum=0;
int t;
int i=1;
while(1)
...{
t=n/(int )pow(5.0,i);
if(t)
...{
sum+=t;
}
else return sum;
i++;
}
}
int main()
... {
int N;
cin>>N;
while(N!=-1)
...{
cout<<zero(N)<<endl;
cin>>N;
}
return 0;
}
#include < iostream >
#include < math.h >
using namespace std;
int zero( int n)
... {
int sum=0;
int t;
int i=1;
while(1)
...{
t=n/(int )pow(5.0,i);
if(t)
...{
sum+=t;
}
else return sum;
i++;
}
}
int main()
... {
int N;
cin>>N;
while(N!=-1)
...{
cout<<zero(N)<<endl;
cin>>N;
}
return 0;
}