51nod-1003 阶乘后面0的数量
2016-09-27 20:50
246 查看
首先确定0是如何产生的:
5的倍数* 2的倍数 可以产生1个0
25的倍数*4的倍数 可以产生2个0
125的倍数* 8的倍数 可以产生3个0
。。。
前面的个数 一定比后面的个数少,那么产生0的个数就是有5 25 125 等 5的N次方的个数决定
5^1 产生1个0 ,5^2产生2个0.。。。。
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
int n;
cin>>n;
int ans=0;
while(n>=5)
{
ans+=n/5;
n=n/5;
}
cout<<ans<<endl;
return 0;
}
5的倍数* 2的倍数 可以产生1个0
25的倍数*4的倍数 可以产生2个0
125的倍数* 8的倍数 可以产生3个0
。。。
前面的个数 一定比后面的个数少,那么产生0的个数就是有5 25 125 等 5的N次方的个数决定
5^1 产生1个0 ,5^2产生2个0.。。。。
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
int n;
cin>>n;
int ans=0;
while(n>=5)
{
ans+=n/5;
n=n/5;
}
cout<<ans<<endl;
return 0;
}
相关文章推荐
- 滑动bug
- div里嵌套了img 底部会出现白边
- 立体视觉:算法与应用(三)
- 完全背包问题
- Memcache监控问题
- Search a 2D Matrix
- 【openCV3.1 第4篇】连级分类器 CascadeClassifier
- 树形dp学习
- 集群
- ClassNotFoundException:"com.android.tools.fd.runtime.BootstrapApplication"
- 文件存储之共享参数
- Linux下压缩与解压以及打包与解包
- 输出字符串的全排列
- Java编程的逻辑 (39) - 剖析LinkedList
- 第5周 项目2-建立链栈算法库
- Ubuntu(Debian)的aptitude与apt-get的基本用法
- 网络超时检测-alarm()函数
- POJ_3169_Layout
- 深刻理解Python中的元类(metaclass)
- 例题:给任务排序(UVa 10305)