c++编程:输入一个自然数n,求 n!,同时统计结果中有多少个0。

快哦~~~
2024-12-14 01:00:37
推荐回答(2个)
回答1:

#include
#include

int factorial(int n) //计算n!
{
int i;
long sum=1;
for(i=1;i<=n;i++)
sum*=i;
return sum;
}

int account(int m) //计算n!里面0的个数
{
int i=0; //存放0的个数
while(m>=10)
{
if(m%10==0)
i++;
m/=10;
}
return i;
}

void main()
{
int n;
cin>>n;
cout<<"n!="< cout<<"n!结果里0的个数有:"<}
运行过了,时间关系,算法没有优化...另外,计算范围有限...应该可以交差了吧...

回答2:

#include

#include

int
factorial(int
n)
//计算n!
{
int
i;
long
sum=1;
for(i=1;i<=n;i++)
sum*=i;
return
sum;
}
int
account(int
m)
//计算n!里面0的个数
{
int
i=0;
//存放0的个数
while(m>=10)
{
if(m%10==0)
i++;
m/=10;
}
return
i;
}
void
main()
{
int
n;
cin>>n;
cout<<"n!="<cout<<"n!结果里0的个数有:"<}
运行过了,时间关系,算法没有优化...另外,计算范围有限...应该可以交差了吧...