文章标题
来源:互联网 发布:淘宝淘积木 编辑:程序博客网 时间:2024/06/06 19:01
阶乘的0
时间限制:3000 ms | 内存限制:65535 KB
难度:3
描述 计算n!的十进制表示最后有多少个0
输入第一行输入一个整数N表示测试数据的组数(1<=N<=100)
每组测试数据占一行,都只有一个整数M(0<=M<=10000000)输出输出M的阶乘的十进制表示中最后0的个数
比如5!=120则最后的0的个数为1样例输入6
3
60
100
1024
23456
8735373
样例输出0
14
24
253
5861
2183837
#include<stdio.h>int main(){ int n; scanf("%d",&n); while(n--) { int m; int c=0; scanf("%d",&m); if(m<5) printf("0\n"); else { while(m>=5) { c+=m/5; m/=5; } printf("%d\n",c); } } return 0;}
需要用数学规律总结才能很高效地写出代码,大神的思路:
(1)当n<5时,n!=0
(2)当n>=5时,有 f(N!) = k + f(k!), 其中k = N / 5;
例如:f(100!)=20+f(20!)=20+(4+f(4!))=24
此题属于经典题型,做多了就知道这个结论了!!!
阅读全文
0 0
- 文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题 文章标题 文章标题 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- C语言-printf()和scanf()中*的作用
- STL 常用操作指令和内建函数
- leetcode 155. Min Stack | 空间换时间
- Stones(优先队列)
- [leetcode]529. Minesweeper
- 文章标题
- 快学Scala习题解答—第二章 控制结构和函数
- Minigame Learning for Day 1
- msfencode的基本使用
- Linux 包管理 yum / apt-get / rpm / dpkg / wget
- vue 配置babel
- 树的深度和广度遍历(JavaScript版)
- python爬取网页
- NYOJ 179 LK's problem ......