读书人

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

发布时间: 2012-11-09 10:18:48 作者: rapoo

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);}}


读书人网 >编程

热点推荐