为什么我的代码在阶乘返回垃圾值中查找尾随零的数量
Why is my code for finding number of trailing zeros in a factorial returning garbage value
我想查找阶乘中尾随零的数量,但我的代码返回的是垃圾值。
#include<iostream>
using namespace std;
int main()
{
long int n;
cin>>n;
int z=0;
while(n>0)
{
n=n/5;
n=z+n;
z=n;
}
return z;
}
我理解你的代码如下:你的输入是n
,你想计算n!
有多少个尾随零。在这种情况下,您的 while
循环必须如下所示:
while(n > 0)
{
n = n / 5;
z = z + n;
}
// After running the loop, directly output the result.
cout << "z: " << z;
这让我在 1000 的扩展中有 249 个尾随零!
4617 有 1151 个尾随零!
根据this page,应该是正确的。
我想查找阶乘中尾随零的数量,但我的代码返回的是垃圾值。
#include<iostream>
using namespace std;
int main()
{
long int n;
cin>>n;
int z=0;
while(n>0)
{
n=n/5;
n=z+n;
z=n;
}
return z;
}
我理解你的代码如下:你的输入是n
,你想计算n!
有多少个尾随零。在这种情况下,您的 while
循环必须如下所示:
while(n > 0)
{
n = n / 5;
z = z + n;
}
// After running the loop, directly output the result.
cout << "z: " << z;
这让我在 1000 的扩展中有 249 个尾随零! 4617 有 1151 个尾随零!
根据this page,应该是正确的。