hdu 1124 Factorial
来源:互联网 发布:网络飚车游戏 编辑:程序博客网 时间:2024/05/01 08:38
题意:求n!的末尾有多少个0?
题解:想要末尾为,只有2*5得到,将n!分解质因数,得到a个2和b个5,则答案就是min(a,b);我们知道1~n中有n/2个是2的倍数,n/4个是4的倍数...
所以分解质因数中2的个数是(n/2+n/(2^2)+n/(2^3)+...),同理得到5的个数。我们可以发现5的个数必定比2少,所以只要求5的个数即可。
ans=(n/5+n/25+n/125+...)
耗时:500MS(主要是cin,cout耗得,想要少点,可以用scanf,printf)
#include <cstdio>#include <cstring>#include <cmath>#include <queue>#include <iostream>#include <algorithm>using namespace std;#define LL __int64int main(){ int T,n; cin>>T; while(T--) { cin>>n; int ans=0; while(n) { ans+=n/5; n=n/5; } cout<<ans<<endl; } return 0;}
- Factorial hdu 1124
- HDU 1124 Factorial
- HDU 1124 Factorial
- HDU 1124 Factorial
- HDU:1124 Factorial
- hdu 1124 Factorial
- HDU 1124 Factorial
- hdu 1124 Factorial
- HDU 1124 Factorial
- 【数学】 HDU 1124 Factorial
- HDU 1124 Factorial
- HDU 1124 Factorial(数论)
- hdu 1124 Factorial
- 【HDU】 1124 Factorial
- HDU - 1124 Factorial
- HDU HDOJ 1124 Factorial
- hdu 1124 Factorial(数论:推理)
- HDU 1124 Factorial (數論)
- Sprite Kit 使用其他节点类型
- HttpWatch工具简介和使用(转)
- Mina框架研究
- java复习之jdbc
- 侦探推理小故事
- hdu 1124 Factorial
- mysql触发器的作用及语法
- 跟ini文件相关的api
- Lua初学
- openam + opendj 安装
- 只允许遍历一遍字符串,找出字符串中第一个只出现一次的字符
- 一个测试电池状态的actiivity
- 【Android基础入门〖14〗】SharedPreferences
- Poj1149 PIGS (经典网络流)