n!后面有多少个0

Time Limit 1000ms

Memory Limit 65536K

description

从输入中读取一个数n,求出n!

中末尾0的个数。
							

input


输入有若干行。第一行上有一个整数m。指明接下来的数字的个数。然后是m行,每一行包括一个确定的正整数n,1<=n<=1000000000。

output


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

sample_input


3
3
100
1024

sample_output


0
24
253

考查的素数基本定理的性质,素数基本定理:每一个大于1的正整数n都能被唯一地写成素数的乘积,在乘积中的素因子依照非降序排列。n=(p1^a1)*(p2^a2)*.....*(pk^ak).

n!

的素因子分解中的素数p的幂为: [n/p]+[n/p^2]+[n/p^3]+.........

再看这个题,说n!

后面有几个0。显然我们不能算出n。。所以我们得找特征。

对于随意一个正整数。若对其进行因式分解,那么其末尾的0必定能够分解成2*5,所以每个0必定和一个5相应,但同一时候还须要有2才行。而对于n!,在因式分解中,因子2的个数要比因子5的个数多,所以假设存在一个因子5,那么它必定相应着n!末尾的一个0,那么本题就变为求n!的分解中因子5的个数,那么上面的公式就派的上用场了。

代码例如以下:

#include <stdio.h>
#include <string.h>
#include <math.h>
int main()
{
int i,j,s,n;
int cas,ans,t;
scanf("%d",&cas);
while(cas--)
{
scanf("%d",&n);
s=5;ans=0;t=n/5;
while(t!=0)
{
ans+=t;
s*=5;
t=n/s;
}
printf("%d\n",ans);
}
return 0;
}

nefu 118 n!后面有多少个0 算数基本定理,素数分解的更多相关文章

  1. 数论 - 算数基本定理的运用 --- nefu 118 : n!后面有多少个0

     题目链接:http://acm.nefu.edu.cn/JudgeOnline/problemshow.php Mean: 略. analyse: 刚开始想了半天都没想出来,数据这么大,难道是有什么 ...

  2. NEFU 118 - n!后面有多少个0 & NEFU 119 - 组合素数 - [n!的素因子分解]

    首先给出一个性质: n!的素因子分解中的素数p的幂为:[ n / p ] + [ n / p² ] + [ n / p³ ] + …… 举例证明: 例如我们有10!,我们要求它的素因子分解中2的幂: ...

  3. NEFU 118 n!后面有多少个0【数论】

    http://acm.nefu.edu.cn/JudgeOnline/problemShow.php?problem_id=118 求n!后面有多少个0(1<=n<=1000000000) ...

  4. nefu 753 n!末尾有多少个0

    Problem : 753 Time Limit : 1000ms Memory Limit : 65536K description 计算N!末尾有多少个0 input 输入数据有多组,每组1行,每 ...

  5. 算数基本定理 - nefu 118

    算数基本定理 每个大于1的正整数都可以被唯一分解为素数的成绩,在乘积中的素因子按照非降序排列 a = p1^a1 * p2^a2 * ... pn^an; b = p1^b1 * p2^b2 * .. ...

  6. pku 1401 Factorial 算数基本定理 && 51nod 1003 阶乘后面0的数量

    链接:http://poj.org/problem?id=1401 题意:计算N!的末尾0的个数 思路:算数基本定理 有0,分解为2*5,寻找2*5的对数,2的因子个数大于5,转化为寻找因子5的个数. ...

  7. N的阶乘末尾有多少个0

    N的阶乘(N!)中的末尾有多少个0? N的阶乘可以分解为: 2的X次方,3的Y次方,4的5次Z方,.....的成绩.由于10 = 2 * 5,所以M只能和X和Z有关,每一对2和5相乘就可以得到一个10 ...

  8. Trailing Zeroes (III) 假设n!后面有x个0.现在要求的是,给定x,要求最小的n; 判断一个n!后面有多少个0,通过n/5+n/25+n/125+...

    /** 题目:Trailing Zeroes (III) 链接:https://vjudge.net/contest/154246#problem/N 题意:假设n!后面有x个0.现在要求的是,给定x ...

  9. 从“n!末尾有多少个0”谈起

    在学习循环控制结构的时候,我们经常会看到这样一道例题或习题.问n!末尾有多少个0?POJ 1401就是这样的一道题. [例1]Factorial (POJ 1401). Description The ...

随机推荐

  1. centos 7.3systemctl工具

    http://www.cnblogs.com/tswcypy/p/4479153.html

  2. [Lync]lync同步通讯簿

    概述 在客户现场部署lync的时候,突然发现新安装的lync客户端,搜索联系人功能无法使用,而将lync客户端安装后,隔一段时间后,又可以查询了,发现可能是数据没有同步的原因. 解决方案 客户端地址簿 ...

  3. CRC代码实现

    CRC代码实现1: #include <stdio.h> #include <string.h> unsigned int cfgCrc32(const unsigned ch ...

  4. 我的vim配置---jeffy-vim-v2.2.tar

    http://files.cnblogs.com/pengdonglin137/jeffy-vim-v2.2.rar 修改了配色. 使用方法: 在Linux下,解压后,进入解压后的目录,执行./ins ...

  5. WebStorm中部署网页到Tomcat

    1. 新建一个Deployment 在上面过程中Add Server弹窗下如下输入 2. 配置Deployment的Connection选项卡 3. 配置Deployment的Mappings选项卡 ...

  6. saltstack之salt event事件用法

    event是一个本地的ZeroMQ PUB Interface,event是一个开放的系统,用于发送信息通知salt或其他的操作系统.每个event都有一个标签.事件标签允许快速制定过滤事件.除了标签 ...

  7. oracle 10g函数大全--其他函数

    DUMP(w[,x[,y[,z]]]) [功能]返回数据类型.字节长度和在内部的存储位置. [参数] w为各种类型的字符串(如字符型.数值型.日期型……) x为返回位置用什么方式表达,可为:8,10, ...

  8. IIC读写AT24C02代码2——串口命令控制多页读写

    通过串口输入 R .W 进行控制程序读写IIC设备.波特率9600bps,晶振115200HZ. main.c /*------------------------------------------ ...

  9. Django——WEB三层架构与MVC

    而我发此文的目的有二:一者,让初学者能够听到一家之言,是为解惑:二者,更希望抛砖引玉,得到专家的批判. 许多学生经常问我,MVC到底和WEB三层架构有啥关系? 开始时,我也只能给他们一些模糊的回答.时 ...

  10. Cocos2dx 3.6源代码编译错误:syntax error : missing &#39;)&#39; before &#39;{&#39;

    在编译Cocos2dx 3.6版本号时.发现编译错误: 定位代码行: debugForNormalSprite->drawPoints(positions, 4, 8, Color4F{0.0, ...