求N!尾数有多少个0
Posted 霜雪千年
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求N!尾数有多少个0相关的知识,希望对你有一定的参考价值。
方法一:直接求因子5的个数。
1 #include<bits/stdc++.h> 2 using namespace std; 3 int main(){ 4 int n,cnt,tmp; 5 while(cin>>n){ 6 cnt=0; 7 for(int i=5;i<=n;i+=5){ 8 tmp=i; 9 while(tmp%5==0)cnt++,tmp/=5;//累加因子5的个数 10 } 11 cout<<cnt<<endl; 12 } 13 return 0; 14 }
方法二:分治法。
1 #include<bits/stdc++.h> 2 using namespace std; 3 int main(){ 4 int n,cnt; 5 while(cin>>n){ 6 cnt=0; 7 while(n)cnt+=n/5,n/=5; 8 cout<<cnt<<endl; 9 } 10 return 0; 11 }
以上是关于求N!尾数有多少个0的主要内容,如果未能解决你的问题,请参考以下文章