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

hdu1241阶乘末位零的个数

时间:2015-08-21 21:11:49      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:

关于数论,表示基本上一窍不通,最主要是要有数论的思想,把数的问题都转化为素数的思想,然而并没有,所以还是好好刷题,慢慢培养吧。

末位的0只能是2*5=10得到,2出现的频率高于5,所以计算5出现在1~n中多少次,其中25=5*5(出现2次),50=5*5*2;75=5*5*3,依次类推。

eg:124/5=24;

  24/5=4;

  4/5=0.

其中总有些梗要自己理解的。。。。。

题目链接

技术分享
 1 #include<cstdio> 
 2 #include<iostream>
 3 using namespace std;
 4 int main()
 5 {
 6     int n,t;
 7     cin>>t;
 8     while(t--)
 9     {
10         cin>>n;
11         int res=0;
12         while(n/5)
13         {
14             res+=n/5;
15             n/=5;
16         }
17         cout<<res<<endl;
18     }
19     return 0;
20 }
View Code

 

hdu1241阶乘末位零的个数

标签:

原文地址:http://www.cnblogs.com/sunshiniing/p/4748963.html

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