我是靠谱客的博主 细心发箍,最近开发中收集的这篇文章主要介绍poj1401的思路建立,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

自言自语。。。我怎么想怎么觉得编程这东西需要点想象力,就是也不能是天马行空的想象,是在有一定依据的基础上,进行的猜测、判断,能理解么。思路这种东西,有点能想但不易说的感觉。

Factorial
小昊昊学了离散数学之后,他被同学商商的一个问题难住了,商商说:“昊昊,你能告诉我N的阶乘末尾有几个零嘛?”
小昊昊一脸茫然,编程牛逼的你可以告诉他答案嘛?

Input
首先输入一个T代表T组数据,之后T行每行一个整数N,代表询问N的阶乘
Output
输出N的阶乘末尾零的个数
Sample Input

6
3
60
100
1024
23456
8735373

Sample Output

0
14
24
253
5861
2183837

做poj中第二次看到这个题了,第一次见是c语言的期末考试了,直到现在才明白。思路如下
读了题之后,肯定要先想到这个数的范围铁定会爆表,这个数一大了不仅仅会爆表还会超时,那么这样的题一定有数学规律是可循的。就问怎么出现0呢?只要出现5就会出现0,所以只要这个数的分解有5,那就能出现一个0,如5、10、25、30、这样的数,如果以此从5遍历过去,依然会超时。那么跟这数有什么关系呢,就有关系了,//这个可能通过数学能解释的过来 反正我是不行了
日常流程上代码

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <string>
using namespace std;
int main()
{
    int T;
    cin>>T;
    while(T--){
        int a;
        cin>>a;
        int sum=0;
        while(a!=0){
            sum+=a/5;
            a=a/5;
        }
        cout<<sum<<endl;
    }
    return 0;
}

最后

以上就是细心发箍为你收集整理的poj1401的思路建立的全部内容,希望文章能够帮你解决poj1401的思路建立所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部