• NYOJ84 阶乘的0


     

    阶乘的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

    /*
    本题主要是找到1到m中每个数含有5的约数的个数总和;

     1 /*
     2 本题主要是找到 1到 m中每个数含有 5的 约数的个数总和;
     3 //超时代码一:
     4 #include<stdio.h>
     5 #include<string.h>
     6 int a[10000000];
     7 int main()
     8 {
     9     int n,m,i,j,t,num,bit;
    10     scanf("%d",&n);
    11     while(n--)
    12     {
    13         num=0;
    14         memset(a,0,sizeof(a));
    15         scanf("%d",&m);
    16         a[0]=1;
    17         bit=0;
    18         for(i=1;i<=m;++i)
    19         {
    20             t=0;
    21             for(j=0;j<=bit;++j)
    22             {
    23                 a[j]=a[j]*i+t;
    24                 t=a[j]/10;
    25                 a[j]=a[j]%10;
    26             }
    27             if(t)
    28                 bit++;
    29         }
    30         for(i=0;a[i]==0;++i)
    31             num++;
    32         printf("%d\n",num);
    33     }
    34     return 0;
    35 }
    36 
    37 超时代吗二:
    38 #include<stdio.h>
    39 int main()
    40 {
    41     int n,m,i,t,num;
    42     scanf("%d",&n);
    43     while(n--)
    44     {
    45         num=0;
    46         scanf("%d",&m);
    47         for(i=5;i<=m;++i)
    48         {
    49             t=i;
    50             while(t%5==0)
    51             {
    52                 ++num;
    53                 t/=5;
    54             }
    55         }
    56         printf("%d\n",num);
    57     }
    58     return 0;
    59 }
    60 */
    61 //AC代码-----求  1 --- n 之间所有数含有多少个因子 5 
    62 #include<stdio.h>
    63 int main()
    64 {
    65     int n,m,num;
    66     scanf("%d",&n);
    67     while(n--)
    68     {
    69         num=0;
    70         scanf("%d",&m);
    71         while(m!=0)
    72         {
    73             num=num+m/5;
    74             m=m/5;
    75         }
    76         printf("%d\n",num);
    77     }
    78     return 0;
    79 }
    功不成,身已退
  • 相关阅读:
    《构建之法》阅读笔记--2
    学习进度条--第九周
    团队冲刺第十天
    团队冲刺第十一天
    团队冲刺第九天
    团队冲刺第八天(4/29)
    团队冲刺第七天(4/28)
    团队冲刺第六天( 2016/4/27)
    第九章动手动脑
    第八章多态动手动脑
  • 原文地址:https://www.cnblogs.com/dongsheng/p/2533436.html
Copyright © 2020-2023  润新知