0
数量可能重复:
Counting trailing zeros of numbers resulted from factorialC++零的阶乘数
它给出的整数的 “p”。我必须找到一个数字“n”,其中“n factorial”在末尾有“p”数字为零。这是我认为的解决方案,但我不确定它是否解决了这个问题。我必须做一个函数来计算阶乘和另一个函数来得到零吗?
int p;
int count5=0;
int i;
int copy_i;
printf("Enter p: ");
scanf("%d",&p);
for(i=1; ;i++)
{
copy_i=i;
while(copy_i/5)
{
if(copy_i%5==0)
{
count5++;
copy_i=copy_i/5;
}
else
{
break;
}
}
if(count5==p)
{
printf("The minimum number n is: %d.",i);
break;
}
else if(count5>p)
{
printf("No match for n! with %d zero.",p);
break;
}
}
为什么你不确定它是否正确?你究竟在哪里卡住? – 2012-08-09 18:49:43
我做了测试,并没有问题。这是我家庭作业的一个问题,我的老师说这不是我的问题的解决方案。 – laura 2012-08-09 18:53:02