下面是我写的程序阶乘问题
问题描述:
从输入文件中读取一个数n,求出n!中末尾0的个数。
输入:
输入有若干行。每一行上有一个整数m,指明接下来的数字的个数。然后是m行,每一行包含一个确定的正整数n,1£n£1000000000。
输出:
对输入行中的每一个数据n,输出一行,其内容是n!中末尾0的个数。
输入样例:
3
3
100
1024
输出样例:
0
24
253
#include<iostream>
using namespace std;
int main()
{
int m;
cin>>m;
int *x=new int[m];
for(int i=0;i<m;i++)
{
cin>>x;
}
for(int j=0;j<m;j++)
{
int temp=x[j];
int sum=0;
for(int n=x[j]-1;n>=0;n--)
{
while(temp%10==0)
{
sum++;
temp/=10;
}
temp%=10;
temp*=n;
}
cout<<sum<<endl;
}
delete []x;
return 0;
}
算出来的结果跟样例不一样,我的算法哪里出错了么