用C / C ++编程来计算数字阶乘中的尾随零?
通过对阶乘数中的尾随零进行计数是通过对数的因子中的2s和5s进行计数来完成的。因为2*5给出10,它在数字的阶乘后是0。
示例
阶乘7=5040,后跟0的数目为1。
根据我们的逻辑7!=2*3*4*5*6*7,它具有32s和15s,因此尾随0的数目为1。
#include <iostream>
using namespace std;
int main() {
int n = 45;
int count = 0;
for (int i = 5; n / i >= 1; i *= 5)
count += n / i;
cout<<"No of trailing 0s in " << n<< "! is " << count;
return 0;
}输出结果
No of trailing 0s in 24! is 10