博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
100 的阶乘末尾有多少个0?
阅读量:4657 次
发布时间:2019-06-09

本文共 533 字,大约阅读时间需要 1 分钟。

写这篇随笔的原因是对博客一文中的源码改进:

1 int getfn_1(const int n) 2 { 3     int counter=0;  //the counter! 4     int flag=n; 5     while(flag) 6     { 7         flag/=5; 8         counter+=flag; 9     }10     return counter;11 }12 13 int main(void)14 {15     ///int ret;16     int fact_n = 100;17 18     printf("100!有%d个零\n",getfn_1(fact_n));19 20     return 0;21 }

完毕,既然知道了求解一个数 n 的阶乘末尾有多少个 0 取决于从 1 到 n 的各个数的因子中 2 和 5 的个数,而且得到因子 5 的个数的方法是用 n 不断除以 5, 直到结果为 0, 然后把中间得到的结果累加,那么就直接根据这个算法编程即可,省去了笨拙的循环过程。

转载于:https://www.cnblogs.com/Gihub/p/3825089.html

你可能感兴趣的文章
Netsharp快速入门(之14) 销售管理(报表A 热销滞销品统计)
查看>>
配置 SQL Server Email 发送以及 Job 的 Notification通知功能
查看>>
Makefile 工程管理
查看>>
笔记本键盘失灵怎么办? 笔记本电脑按键失灵的一般解决办法
查看>>
寻找最大的数
查看>>
【转】java中float与byte[]的互转 -- 不错
查看>>
sockaddr和sockaddr_in的区别
查看>>
基础练习1
查看>>
左旋转字符串
查看>>
第二次C语言实验报告
查看>>
XPath轴
查看>>
Struts2的优点与Struts1的区别:
查看>>
5-29 删除字符串中的子串
查看>>
webdriver模拟鼠标操作
查看>>
Spring cloud 基础
查看>>
游戏开发Unity渲染场景光照性能优化 ShaderLOD
查看>>
java中构造方法的使用
查看>>
使用Expression动态创建lambda表达式
查看>>
MapReduce
查看>>
找工作——JVM内存管理
查看>>