首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

ZOJ-2022* 阶乘末梢多少个零

2012-11-09 
ZOJ-2022* 阶乘末尾多少个零2022:给出一个数,计算它阶乘后末尾多少个0.思路:10 只能由 2 和 5 提供。而2富

ZOJ-2022* 阶乘末尾多少个零
2022:给出一个数,计算它阶乘后末尾多少个0.

思路:10 只能由 2 和 5 提供。而2富富有余,只考虑5的个数即可。
转化为统计5因子出现次数问题。循环除5即可。第一次处以5代表5的倍数有几个。
第二次除5代表25个数有几个,依此类推。

大量输出时,cout比printf慢很多,时间限制时,多用printf。本题cout会WA掉。

#include<stdio.h>#include<iostream>using namespace std;int main(){int n;int fac;int num;scanf("%d",&n);for(int i=0;i<n;i++){num=0;scanf("%d",&fac);while(fac/5){num+=fac/5;fac/=5;}printf("%d\n",num);}}


热点排行