新浪博客 发表时间 -- 2009-07-26 21:56:18
阶乘末尾0的个数
有一个题目说的是求 100 的阶乘末尾有多少个 0. 题解中给出的讲解提到, 一个数 n 的阶乘末尾有多少个 0
思路:
一个数 n 的阶乘末尾有多少个 0 取决于从 1 到 n 的各个数的因子中 2 和 5 的个数, 而 2 的个数是远远多余 5 的个数的, 因此求出 5 的个数即可. 题解中给出的求解因子 5 的个数的方法是用 n 不断除以 5, 直到结果为 0, 然后把中间得到的结果累加. 例如, 100/5 = 20, 20/5 = 4, 4/5 = 0, 则 1 到 100 中因子 5 的个数为 (20 + 4 + 0) = 24 个, 即 100 的阶乘末尾有 24 个 0. 其实不断除以 5, 是因为每间隔
5 个数有一个数可以被 5 整除, 然后在这些可被 5 整除的数中, 每间隔 5 个数又有一个可以被 25 整除, 故要再除一次, ... 直到结果为 0, 表示没有能继续被 5 整除的数了.
代码:
<wbr><wbr><wbr> #include "iostream"<br>
using namespace std;<br>
void main()<br>
{<br><wbr>int N,i,mod5,d5;<br><wbr>int count0=0;<br><wbr>scanf("%d",&N);<br><wbr>for (i=1;i<=N;i++)<br><wbr>{<br><wbr><wbr> mod5 = i%5;<br><wbr><wbr> d5 = i/5;<br><wbr><wbr>while(mod5==0)<br><wbr><wbr>{<br><wbr><wbr><wbr>count0 ++;<br><wbr><wbr><wbr>mod5 = d5 % 5;<br><wbr><wbr><wbr>d5 = d5 / 5;<br><wbr><wbr>}<br><wbr>}<br><wbr><wbr><wbr> printf("%d的个数 %d\n",N,count0);<br>
}<br></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
分享到:
相关推荐
ACM-ICPC 历年竞赛 真题,各大赛区真题详解,内含几大赛区各年度的真题
这是我的竞赛培训资料,介绍了大数算法与组合数学算法的相关学习内容,欢迎大家来下载
Algorithm-203-ACM-Problems-Code.zip,203个ACM问题的C 源代码,算法是为计算机程序高效、彻底地完成任务而创建的一组详细的准则。
个人ACM-ICPC模板acm-icpc-master.zip
2015北大ACM-ICPC暑期课 pdf
杭电ACM -ppt 杭电ACM -ppt 杭电ACM -ppt 杭电ACM -ppt 杭电ACM -ppt 杭电ACM -ppt
2010年第34届ACM-icpc程序设计大赛全球总决赛试题
ACM-ICPC 历年竞赛 真题,各大赛区真题详解,内含几大赛区各年度的真题
很有用的关于ACM程序设计大赛中的大数问题的全解析。。。
ACM-ICPC培训资料汇编
ACM_ACM-ICPC算法示例之Greedy_题解
ACM_ACM-ICPC算法示例之Hashing_题解
Algorithm-ACM-ICPC.zip,感觉自己做假题。,算法是为计算机程序高效、彻底地完成任务而创建的一组详细的准则。
ACM-ICPC要求的知识点 ACM/ICPC要求的知识点 排序算法(平方排序算法的应用,Shell排序,快速排序,归并排序,时间复杂度下界,三种线性时间排序,外部排序) 数论(整除,集合论,关系,素数,进位制,辗转相除,...
2008 ACM-ICPC East Central North America 包含题目、测试数据、解答
ACM----博弈论
ACM---算法数论
ACM-ICPC_algorithm 算法模板。 阅读对象:专门的算法爱好者。如果是只为求职的可不下载
ACM------搜索 (从入门到精通) ACMER 必备,经典讲义!!!!个人看过的最好的搜索PPT
ACM大数模版ACM大数模版ACM大数模版ACM大数模版ACM大数模版ACM大数模版ACM大数模版ACM大数模版