
计算阶乘数中末尾零的个数是通过计算该数的因子中2和5的个数来完成的。因为2*5等于10,而10是阶乘数中的末尾零。
示例
7的阶乘=5040,末尾0的个数为1。
本文档主要讲述的是OpenMP并行程序设计;OpenMP是一个编译器指令和库函数的集合,主要是为共享式存储计算机上的并行程序设计使用的。目前支持OpenMP的语言主要有Fortran,C/C++。 OpenMP在并行执行程序时,采用的是fork/join式并行模式,共享存储式并行程序就是使用fork/join式并行的。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看
根据我们的逻辑,7!=2*3*4*5*6*7,它有3个2和1个5,所以末尾0的个数为1。
#includeusing 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









