题目:Factorial

  题意:求N!末尾的0 的数量。

  思路:10  = 2 * 5;N!中的2 的数量肯定比 5多;只需寻找5 的数量,暴力寻找TLE;

     快点的方法:f(N) = N/5 + f(N/5) ;

     我们知道,在1->60的数中,以下的数可以被5整除:
     5,10,15,20,25,30,35,40,45,50,55,60
     共60/5 = 12(个)。
     其中,
     25,50可以被25整除,即25和50可以贡献两个5的因子。
     即其中可以贡献2个5的因子的个数为60/25 = 2(个)。
     贡献3个5的因子的没有了,因为60/125 = 0。
     所以共有12 + 2 = 14 (个)5的因子。(即1 * 10 + 2 * 2).

#include <cstdio>int m, n,sum5;
int cal(int n){
if(n == ) return ;
sum5 = n/ + cal(n/);
return sum5;
}
int main(){
//freopen("in.txt","r",stdin);
//freopen("out.txt","w",stdout);
scanf("%d", &m);
while(m--){
scanf("%d",&n);
sum5 = ;
printf("%d\n",cal(n));
}
return ;
}

数论(poj 1401)的更多相关文章

  1. ACM: POJ 1401 Factorial-数论专题-水题

    POJ 1401 Factorial Time Limit:1500MS     Memory Limit:65536KB     64bit IO Format:%lld & %llu   ...

  2. POJ 1401

    #include<iostream>using namespace std;int main(){    int num;    int i;    int sum;    cin> ...

  3. POJ 1401 Factorial

    题意:求一个数的阶乘最后边有几个0. 解法:如果有0说明这个数含有2和5这两个因子,对于一个阶乘来说因子2的数量一定比5的数量多,所以只要算有几个5就可以了,依次算5的个数,25的个数,125的个数… ...

  4. Poj 1401 Factorial(计算N!尾数0的个数——质因数分解)

    一.Description The most important part of a GSM network is so called Base Transceiver Station (BTS). ...

  5. POJ 1401:Factorial 求一个数阶乘的末尾0的个数

    Factorial Time Limit: 1500MS   Memory Limit: 65536K Total Submissions: 15137   Accepted: 9349 Descri ...

  6. 数学--数论--POJ 1061青蛙的约会 (扩展欧几里得算法)

    青蛙的约会 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止.可是它们出发之前忘记了一件很重要的事情,既没有问 ...

  7. POJ 1150 The Last Non-zero Digit 数论+容斥

    POJ 1150 The Last Non-zero Digit 数论+容斥 题目地址: id=1150" rel="nofollow" style="colo ...

  8. ACM-简单题之Factorial——poj1401

    转载请注明出处:http://blog.csdn.net/lttree Factorial Time Limit: 1500MS   Memory Limit: 65536K Total Submis ...

  9. ACM-简单的主题Factorial——poj1401

    明出处:http://blog.csdn.net/lttree Factorial Time Limit: 1500MS   Memory Limit: 65536K Total Submission ...

随机推荐

  1. mybatis oracle insert 返回新增的主键值

    <insert id="insertVmsTemplatePlayItem" parameterType="VmsTemplatePlayItem"> ...

  2. 从Windows 2012标准版升级到数据中心版,标准评价版本升级到标准体验版本并激活

    对于Windows 7.Windows 8操作系统,可以在图形界面中通过输入序列号,从低版本直接升级到高的版本,例如从Windows 7家庭版升级到专业版或旗舰版.而对于Windows Server ...

  3. win10 Administrator没有管理员权限解决方案

    方法/步骤 在运行框 里面输入“gpedit.msc”. 打开组策略编辑器,计算机配置->windows设置->安全设置->->本地策略->安全选项 找到“用户账户控制: ...

  4. Failed to load the JNI shared library jvm.dll

    jdk和使用的ide版本不符合,换一个版本的jdk或者换版本的ide

  5. mysql高可用架构

    高可用   高可用(High Availabiltity) 应用提供持续不间断(可用)的服务的能力 系统高可用性的评价通常用可用率表示   造成不可用的原因 硬件故障(各种) 预期中的系统软硬件维护 ...

  6. [笔记]Modelsim系列01:编译Altera库的方法

    意义:一劳永逸,不用每次对那些包含Quartus II生成文件的工程进行功能仿真时,都需要重新编译一堆东西.节约时间成本. 版本:ModelSim SE 6.5d 打开Modelsim软件,默认会打开 ...

  7. [转]df命令

    linux中df命令参数功能:检查文件系统的磁盘空间占用情况.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息. 语法:df [选项] 该命令各个选项的含义如下: -a 显示所有文件 ...

  8. 安卓 io流 写入文件,再读取的基本使用

    1.布局 布局里面只有一个EditView,通过输入内容之后,当触发 onDestroy 方法时,将输入的数据存储在当前应用的data/data/files文件夹下. <?xml version ...

  9. iOS button 里边的 字体的 摆放

    button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft; button.titleEdgeInsets ...

  10. mac--mac杂记

    zsh路径补全.命令补全,命令参数补全,插件内容补全等等.触发补全只需要按一下或两下tab键,补全项可以使用ctrl+n/p/f/b上下左右切换. plugins=(git textmate ruby ...