码迷,mamicode.com
首页 > 其他好文 > 详细

求N!尾数有多少个0

时间:2018-08-13 00:39:31      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:font   pre   个数   因子   方法   cin   分治法   include   ++   

方法一:直接求因子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

标签:font   pre   个数   因子   方法   cin   分治法   include   ++   

原文地址:https://www.cnblogs.com/acgoto/p/9465573.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!