描述

给出两个数 A 和 B, 其中 B >= A. 我们需要计算结果 F 的最后一位数是什么, 其中F = B! / A!(1 <= A, B <= 10^18, A 和 B 非常大)

样例

给出 A = 2, B = 4, 返回 2
A! = 2 以及 B! = 24, F = 24 / 2 = 12 --> 最后一位数为 2 给出 A = 107, B = 109, 返回 2

思路:分析下各种情况就可以了,简单题
 1 class Solution {
 2 public:
 3     /**
 4      * @param A: the given number
 5      * @param B: another number
 6      * @return: the last digit of B! / A!
 7      */
 8     int computeLastDigit(long long A, long long B) {
 9         // write your code here
10         if(A > B) return 0;
11         if(A == B) return 1;
12         if(B - A >= 10) return 0;//超过10个连续数字最后一位肯定0
13         int x = A%10;
14         int y = B%10;
15         if(x > y) return 0;//是否包含0判断一下
16         int res = 1;
17         for(int i = x + 1; i <= y; ++i){
18             res *= i;
19         }
20         return res%10;
21     }
22 };

转载于:https://www.cnblogs.com/J1ac/p/9062025.html

Lintcode 729. 阶乘除法的最后一位数相关推荐

  1. 2015湖南省省赛 阶乘除法 暴力

    阶乘除法 Time Limit:5000MS     Memory Limit:65535KB     64bit IO Format: NBUT 1643 Description 输入两个正整数 n ...

  2. 【算法设计与分析】—— n的阶乘问题(eg:求100的阶乘 结果中的所有位数都精确输出)

    n的阶乘问题(eg:求100的阶乘 结果中的所有位数都精确输出) 算法题目 算法分析 代码实现 结果示例 算法题目 其实这个求n的阶乘问题,我们在刚刚学习c语言的时候,应该就有大致的了解过了,那个时候 ...

  3. 求这样一个三位数,该三位数等于其每位数字的阶乘之和

    根据题目,即求abc=a!+b!+c! 下面我们设计算法: 设三位数为n,取出每一位数分别放在a.b.c中 通过定义形参,求每位数的阶乘,通过函数返回值返回 主函数中,调用返回值,每一位的阶乘相加与该 ...

  4. 求10的7次方阶乘的位数

    即使找到最先进的计算大数阶乘的算法,  若完全计算10的7次阶乘,然后统计其位数,也需要几十分钟才行.  所以不可行,况且题目只需要求其位数. 那该怎么计算呢?非常的简单,其实是纯粹的数学问题.  现 ...

  5. 求一个三位数 其值等于其各位阶乘之和 c语言,求这样一个三位数,该三位数等于其每位数字的阶乘之和...

    根据题目,即求abc=a!+b!+c! 下面我们设计算法: 设三位数为n,取出每一位数分别放在a.b.c中 通过定义形参,求每位数的阶乘,通过函数返回值返回 主函数中,调用返回值,每一位的阶乘相加与该 ...

  6. 信息学奥赛一本通 2019:【例4.4】求阶乘

    [题目链接] ybt 2019:[例4.4]求阶乘 [题目考点] 1. for循环 2. long long类型范围 注意:n的范围是1~20,20的阶乘的结果是18位数,因此只能用long long ...

  7. C语言训练-阶乘和数

    题目描述 一个正整数如果等于组成它的各位数字的阶乘之和,该整数称为阶乘和数. 例如,145=1!+4!+5!,则145是一个三位阶乘和数. 请问:共有多少个阶乘和数?(不会超过十万) 输入 无 输出 ...

  8. 二进制除法移位相减_在汇编除法中:移位相减是怎么样的原理啊,程序看了几天了还是看不懂,哪位兄弟告诉我,本人感激涕零...

    满意答案 jinqun138 2013.05.24 采纳率:42%    等级:12 已帮助:6963人 二进制的除法本质是通过重复减法运算实现 即通过重复"从被除数的高位依次取出每一位, ...

  9. 小数加分数怎样计算讲解_2020人教版三年级下册数学知识点汇总带视频讲解,让孩子在学习!...

    小学生延期开学,孩子功课不能落下啊!帝源教育网课推出1-6年级语文数学英语教材同步讲解视频,让孩子在假期也能提早预习课文知识! 手机用户访问:m.46344.com  即可观看学习哦! 随着疫情的蔓延 ...

最新文章

  1. 卡尔曼滤波— Constant Velocity Model
  2. 银行背景下分库分表技术选型
  3. pytroch一机多卡训练
  4. Github 的 Pull Request 教程
  5. 记:返回方法参数的值(或多个值),
  6. github使用的一点记录。
  7. mysql count or null_sql 语句中count()有条件的时候为什么要加上or null
  8. POJ 2409 Let it Bead (Polya定理)
  9. python中如何将字典直接变成二维数组_python基础知识(列表、字典、二维数组)...
  10. OPPO Reno7红丝绒新年版开售:精致虎头标识+金色镜头保护圈
  11. 判断线程池中的线程是否全部执行完毕
  12. python连接sql_Python连接DB2数据库
  13. 韩国军事网络指挥中心遭到网络攻击
  14. vc2017 c语言运行,vc++2017下载|vc++2017运行库 32位64位 官方版 - 软件下载 - 绿茶软件园|33LC.com...
  15. chrome linux 历史版本安装
  16. stm32f10x寄存器设置脚本
  17. 【Android 四大组件之Content Provider】一文吃透 BroadcastReceiver 广播接收器
  18. 微信点餐小程序怎么做(微信点餐小程序制作方法)
  19. 清北学堂(2019 4 30 ) part 3
  20. Wei框架源码解读(1)

热门文章

  1. the process cannot access the file because it is being used by another process
  2. Docker 验证 Centos7.2 离线安装 Docker 环境
  3. Xshell和Xftp5配置连接阿里云服务器
  4. Android7.0 PowerManagerService 之亮灭屏(二) PMS 电源状态管理updatePowerStateLocked()...
  5. Strut2开发经验总结
  6. 微信小程序上线广告功能 打造O2O闭环
  7. Debian Linux下的Python学习——列表,元组和字典之列表
  8. 浏览器九宫格的简单实现 - 蒋宇捷的专栏 - 博客频道 - CSDN.NET
  9. Vuex中的核心方法
  10. devops失败的原因_为什么害怕失败是一种无声的DevOps病毒