ZOJ 2022 Factorial

来源:互联网 发布:近似线性时间算法 编辑:程序博客网 时间:2024/04/26 16:36

        ZOJ  2022  Factorial

     在机房自己A的第一道题,呵呵~

     题意:找出所给数字的阶乘的尾巴上有多少连续的0

     思路:对效率要求很高,所以根本不用怀疑是借鉴了别人的思路。最最最不可忍受之思路:计算出阶乘,然后数,吼吼~最大数字有十位呐,怎么可能这样做~最最不可忍受之思路:发现0都是由5乘来的嘛,但是例如25是有25,会得出20;最不可忍受之思路:数一数1~n这些数中的5的个数;可以忍受之思路:每5个数字有一个5,每55会又出现一个5,所以只要累加n/5+(n/5/5)+n/5/5/5+……就行了……汗,又一题我很笨的证据……

     代码:

    

#include<stdio.h>int main(){int i,n,sum,T;scanf("%d",&T);for(i = 1;i<=T;i++){scanf("%d",&n);sum = 0;while(n/5>0){sum = sum+n/5;n = n/5;}printf("%d\n",sum);}return 0;}


 

原创粉丝点击