啥也没学 2021-10-30 16:38 采纳率: 66.7%
浏览 37
已结题

C语言算法超时,求优化算法

多组数据,求N!的值有多少个0,
求123N所得数末尾有多少个0?(1<=N<=unsigned INT_MAX);
有多组数据,第一行一个正整数t(t<100)表示输入数据组数,接下来有t组输入数据,每组数据占1行,输入为一个整数;
输出一个整数,表示末尾有多少个0,对于每组输入,输出一行。

img

img

  • 写回答

3条回答 默认 最新

  • CSDN专家-link 2021-10-30 18:02
    关注
    #include <stdio.h>
    int main()
    {
        int n;
        scanf("%d",&n);
        while(n>0)
        {
            int N;
            scanf("%d",&N);
            int count=0;
            for (int i=5;i<=N;i++)
            {
                int k=5;
                while(N>=k)
                {
                    if(i%k==0)
                        count++;
                    k *= 5;
                }
            }
            printf("%d\n",count);
            n--;
        }
        return 0;
    }
    
    
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月1日
  • 创建了问题 10月30日