N!的末尾有多少个0

已经很久没有打开过我的电脑的devC++了,而且可能有将近两年没有写过c++了,好怀念呀~
正好遇到一道题,看到了熟悉的C++代码,就来写一篇吧~

题目

50!的末尾有多少个0?
扩展:N!的末尾有多少个0?

思考

多数相乘末尾的0的个数 = 乘法中能够生成的10的个数
-> 10 = 2*5
-> 乘数里<2,5>的组合数
-> 连续的自然数中,2的倍数个数远大于5的倍数个数
-> 只需要求连续的N个数中能够生成5的数的个数

举例

50!的末尾有多少个0?
-> 1-50中能够生成5的数的个数:
1.首先,每5个数都能获得某个数是5的倍数,即有:5,10,15,20,25,30,35,40,45,50.
个数为:50/5
2. 其次,有一些数能够因式分解成2个5(在第一步算过一个5了):即25,50。
个数为: 50/5*5
4. 由于50以内的数不能因式分解成>=3个5,所以结束,结果为1和2步结果之和。
即结果为10+2=12.

代码

#include<iostream>
using namespace std;
int main()
{int n;cin>>n;int res=0;while(1){if(n<5){break;}res+=n/5;n=n/5;}cout<<res;return 0;
}

刚刚写代码的时候发现我之前某个时候因为电脑c盘内存不够把devC++卸载了,然后在在线编译器中写代码的时候,我真的真的好怀念啊,是熟悉的感觉,是DNA里的记忆吖~
要做一个永远都有情怀的程序员.

N!的末尾有多少个0相关推荐

  1. nefu 753 n!末尾有多少个0

    Problem : 753 Time Limit : 1000ms Memory Limit : 65536K description 计算N!末尾有多少个0 input 输入数据有多组,每组1行,每 ...

  2. N的阶乘末尾有多少个0

    例如:N = 5,N! = 120.末尾有1个0. 分析:想到这个问题,有人可能第一反应就是现求出N!,然后再根据求出的结果,最后得出N!的末尾有多少个0.但是转念一想,会不会溢出,等等. 其实,从& ...

  3. 每天一道LeetCode-----计算n的阶乘末尾有多少个0

    Factorial Trailing Zeroes 原题链接Factorial Trailing Zeroes 计算n!(n的阶乘)末尾有多少个0 思路: 0实际上来源于10,而10来源于2×5,所以 ...

  4. 编程之美3——N!末尾有多少个0

    因为n!是一个非常大的数,所以不能通过常规的方法,求出n!的值之后,再判断它的末尾有多少个0. 这里的关键就是,n!的末尾有多少个0,取决于n!中,质因数 5 的个数. 如:12!=479001600 ...

  5. 1*2*...*1000的末尾有多少个0?(Java实现)

    /** * 算法描述: * 分解质因数,即: * 1*2*3*...*1000 = (2*5)*(2*5)*...*(2*5)                     *(没有匹配的2或5) //其实 ...

  6. 如何判断1024!末尾有多少个0

    分析: 方法一:暴力法   简单的方法就是就算出1024!的值,然后判断末尾有多少个0.但是这种方法有两个非常大的缺点:第一算法效率非常低下:第二:当这个数字比较大的时候直接计算阶乘可能会导致数据溢出 ...

  7. 判断N!末尾有多少个0

    问题:N的阶乘(N!)中的末尾有多少个0? 例如: N = 5,N! = 120.末尾有1个0. N = 10,N! = 3628800.末尾有2个0. 分析:看到这个问题,有人可能第一反应是先求出N ...

  8. 100 的阶乘末尾有多少个0?

    本篇文章是在osChina的代码分享里下载下来的,这里把它整理一下. 前一段时间看到一个往年程序竞赛的题解, 有一个题目说的是求 100 的阶乘末尾有多少个 0. 题解中给出的讲解提到, 一个数 n ...

  9. 求100000000!末尾有多少个0

    **@求100000000!末尾有多少个0 /求100000000!末尾有多少个0 两个数相乘怎么能得到0呢? 只能是25 因为2的个数要远远的多于5 所以说只需要数5的个数即可 */ #includ ...

  10. 【经典智力题】1024! 末尾有多少个0?——“计算阶乘末尾0的数量”问题引出

    网上有这样一个广为流传的有趣问题: 1024! 末尾有多少个0? 相应的解法是: 末尾0的个数取决于乘法中因子2和5的个数.显然乘法中因子2的个数大于5的个数,所以我们只需统计因子5的个数. 是5的倍 ...

最新文章

  1. 后MATLAB时代的七种开源替代,一种堪称完美!
  2. 机器手臂(3):机械手臂底座
  3. SQL语句利用日志写shell
  4. Spring Boot 微信点餐开源系统
  5. STM32 串口ISP下载
  6. linux 更改ctime_Linux 的文件系统及文件缓存知识点整理
  7. WCF 客户端代理生成 通过SvcUtil.exe
  8. C51 汇编 双层循环延时代码
  9. php微信商户下载对账单,浅析微信支付:下载对账单和资金账单
  10. 博客园的积分原来是这样算的哦
  11. 【SVM预测】基于蝙蝠算法改进SVM实现数据分类
  12. 数据包络(DEA)分析法python实现
  13. java求水电费_基于jsp的水电费管理系统-JavaEE实现水电费管理系统 - java项目源码...
  14. three.js 05-06 之 CylinderGeometry 几何体
  15. CTU Open Contest 2019 J. Beer Vision
  16. Error in *** : subscript out of bounds
  17. HBuilder X 连接逍遥Android模拟器
  18. 简单易懂的并查集算法以及并查集实战演练
  19. JAVA经典算法大全
  20. IEEE Access 上岸指南,附含泪整理的 cover letter 、沟通邮件、终版文档等资料包

热门文章

  1. vue 多层双层全选_vue2.0 实现全选和全不选
  2. [Pytorch系列-33]:数据集 - torchvision与MNIST数据集
  3. Win10彻底关闭恢复功能,终极省流量设置
  4. 解决Port xxxx was already in use 端口被占用问题
  5. Error: listen EADDRINUSE: address already in use :::400
  6. Android studio中国象棋,下棋思路与代码实现
  7. 史上最厉害的拼音打字高手间的对话
  8. Xsocks 反弹代理s5
  9. 猎头职场:如何拒绝不合理的工作量
  10. 【渝粤教育】国家开放大学2018年春季 7067-22T (1)康复护理学 参考试题