题目链接:https://www.luogu.org/problemnew/show/P1134

读完这道题发现它和51nod1003阶乘后面0的数量非常相似,只不过它变形了一下,要求你对2*5产生0有更加深刻的理解(0可以消掉,既然求非0位也就不必再乘,把多出来的2乘上即可)!

 1 #include <iostream>
 2 using namespace std;
 3 typedef long long ll;
 4
 5 int main()
 6 {
 7     ios::sync_with_stdio(false); cin.tie(0);
 8
 9     ll n;
10     cin>>n;
11
12     ll x=n,s2=0,s5=0;//1.求多出的2个数(也可以循环找每个因子是2,5的加起来算,只不过这样算比较快!)
13     while(x)
14     {
15         s2+=x/2;
16         x/=2;
17     }
18     x=n;
19     while(x)
20     {
21         s5+=x/5;
22         x/=5;
23     }
24     ll s=s2-s5;
25
26     ll ans=1;
27     for(ll i=2;i<=n;i++)//2.暴力计算除去2,5的阶乘最后一位
28     {
29         ll t=i;
30         while(t%2==0) t/=2;
31         while(t%5==0) t/=5;
32
33         ans=ans*t%10;
34     }
35     for(ll i=1;i<=s;i++) ans=ans*2%10;//3.多余的2*上(因为它影响着整个结果,也影响着最后一位)
36
37     cout<<ans<<endl;
38
39     return 0;
40 }

完。

转载于:https://www.cnblogs.com/redblackk/p/9951642.html

洛谷P1134阶乘问题(数论,末尾0的个数变形,思维转换)相关推荐

  1. 统计阶乘结果的末尾0的个数

    统计结成结果的末尾0的个数 今天看到一道题目,是让求解 1024! 末尾的0的个数.对于这个问题,作者首先想到了蛮力法..先将阶乘的结果计算出来放入数组然后统计末尾0的个数.这样做的话首先得先进行较大 ...

  2. c语言 n阶阶乘尾0个数,计算n的阶乘(n!)末尾0的个数

    题目: 给定一个正整数n,请计算n的阶乘n!末尾所含有"0"的个数. 举例: 5!=120,其末尾所含有的"0"的个数为1: 10!= 3628800,其末尾所 ...

  3. 阶乘末尾 0 的个数

    整数区间内整数的因子的个数 如求 100 的阶乘末尾 0 的个数: 思路:一个数 n 的阶乘末尾有多少个 0 取决于从 1 到 n 的各个数的因子中 2 和 5 的个数((2, 5) 构成的对的个数) ...

  4. 求阶乘N!末尾0的个数

    POJ上有这个题目.http://poj.org/problem?id=1401.去掉一大堆没有用的信息,POJ的描述如下: For example, they defined the functio ...

  5. 求n的阶乘末尾0的个数

    输入一个正整数n,求n!(即阶乘)末尾有多少个0? 比如: n = 10; n! = 3628800,所以答案为2. 思路:末尾0的个数就是指这个数总共有几个10因子,而10又能表示成2和5的乘积.假 ...

  6. 滴滴2017校园招聘编程题——阶乘末尾0的个数

    1.题目如下图所示: 2.分析:         这个题目描述的很简单,思路看似也很清晰,我们第一想到的肯定就是正常计算和统计--先计算N!阶乘的结果,然后统计结果末尾0的个数.看似这是一个很好的也很 ...

  7. 阶乘末尾0的个数(java)

    从输入中读取一个数n,求出n!中末尾0的个数. 输入格式: 输入有若干行.第一行上有一个整数m,指明接下来的数字的个数.然后是m行,每一行包含一个确定的正整数n,1<=n<=1000000 ...

  8. C++版本计算n阶乘末尾0的个数原理讲解及代码实现

    C++版本计算n阶乘末尾0的个数原理讲解及代码实现 /*! * Copyright (c) 2020,ZYF. * All Rights Reserved. * * \file Factorial.c ...

  9. 牛客小白月赛6 水题 求n!在m进制下末尾0的个数 数论

    链接:https://www.nowcoder.com/acm/contest/135/C 来源:牛客网 题目描述 其中,f(1)=1;f(2)=1;Z皇后的方案数:即在Z×Z的棋盘上放置Z个皇后,使 ...

最新文章

  1. 【CVPR2020-中科院-腾讯优图】基于注意力卷积二叉神经树的细粒度视觉分类
  2. ES6中的promise、async、await用法详解
  3. 欢迎大家加入我的圈子
  4. android自定义组合view,自定义View之组合View
  5. ODrive踩坑(三)AS5047P磁编码器的ABI接口
  6. Linux 基本命令不能用的解决方法
  7. 快速解决低版本Xcode不支持高版本iOS真机调试问题
  8. 从代码到300优质客户,用户画像在销售的实战应用
  9. 疑 Android N 截图曝光,通知栏对比上一代变了不少
  10. imsi、 ICCID、ki、IMEI
  11. Qt Data Visualization 3D可视化
  12. 国内wifi用不了谷歌_如何使用Google Wifi阻止不适当的网站
  13. 准备给ubuntu18.04安装杀毒软件
  14. [HTML] HTML简单实现网络测速
  15. 中国能否在5G占据领先优势,还得看中国移动
  16. 大数据架构师拿年薪50W的方法诀窍
  17. 王爽汇编语言 实验8
  18. 学python能做什么兼职-初学Python到月入过万最快的兼职途径(纯干货)
  19. spongycastle加密算法
  20. foss测试_FOSS – Java开发人员的最好朋友

热门文章

  1. 【数据结构和算法笔记】:稀疏矩阵的存储结构详解
  2. JAVA编写的一个简单的Socket实现的HTTP响应服务器
  3. java_interface的用法_Java注释@interface的用法
  4. gif 动态加载_搞笑GIF:这个游戏最大的成功就是失败!
  5. PLSQL 缺少MSVCR120.dll
  6. Windows由于在创建转储期间出错,创建转储文件失败导致的蓝底白字蓝屏重启,最全细解决方案
  7. 【空间】C++内存管理
  8. 计算机硬件知识大赛,计算机知识技能大赛.doc
  9. mysql_num_fielfs_mysql_num_fields
  10. 高斯消元解模同余方程组