zoukankan      html  css  js  c++  java
  • 对一个正整数n,求出n!中末尾0的个数。

    对一个正整数n,求出n!中末尾0的个数。

    输入

    输入有若干行。每一行上有一个整数T,是测试数据组数,接着有T行,每一行包含一个确定的正整数n(n≤1000000000)。

    输出

    对输入行中的每一个数据n,输出一行,其内容是n!中末尾0的个数。

    输入样例                              输出样例

    3                                     

    3                                     0

    100                                   24

    1024                                  253      

     

    下边的代码只是解法的核心部分。   

    #include <stdio.h>
    void main()
    {
    __int64 n,i,t,two=0,five=0,sum;
    scanf("%I64d",&n);
    for (i=1;i<=n;i++)
    {
    t=i;
    while (t%2==0 && t!=1)
    {
    two++;
    t/=2;
    }
    t=i;
    while (t%5==0 && t!=1)
    {
    five++;
    t/=5;
    }
    }
    sum = (two>five?five:two);
    printf("%I64d\n",sum);
    }

     //今天看了《编程之美》,原来代码可以如此简单。。。还有一种更快的解法、也很巧妙

    #include <stdio.h>
    void main()
    {
        __int64 n,i,t,five=0;
        scanf("%I64d",&n);
        for (i=1;i<=n;i++)
        {
            t=i;
            while (t%5==0 && t!=1)
            {
                five++;
                t/=5;
            }
        }
        printf("%I64d\n",five);
    }
    字节跳动内推

    找我内推: 字节跳动各种岗位
    作者: ZH奶酪(张贺)
    邮箱: cheesezh@qq.com
    出处: http://www.cnblogs.com/CheeseZH/
    * 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    python返回函数与匿名函数
    Session&Cookie
    write RE validation
    hello2 source anaylis
    Filter
    Development descriptor
    web.xml配置详解
    Annotation
    injector
    container
  • 原文地址:https://www.cnblogs.com/CheeseZH/p/2405203.html
Copyright © 2011-2022 走看看