首先,这里涉及到的数学知识有:

1.质数:只能被两个或以下的数整除的数

2.合数:能被三个或以上的数整除的数

3.阶乘:是所有小于及等于该数的正整数的积,并且0的阶乘为1。(100的阶乘为1x2x3...x100)

4.约数个数定理:(来自百度)

例子:100可以表示为100=2^2*5^2

那么100的正约数的个数就是(2+1)(2+1)=9

也就是    (质数的指数+1)    再相乘。

作者的话:

本人深入理解了解题代码,每段代码都写上了详细注释

如果您想深入理解该题,跟着我的注释的思路走会更容易些,希望我能帮到您。

若有不妥之处,还望您给予反馈。

"""
要进行质因数分解
随后用到求约数个数的公式:
(每个质数的次幂+1)相乘
"""# 阶乘约数"""
100的阶乘,可表示为1x2x3...x100
因此可以对参与阶乘的2,3,4,5,6到100进行质因数分解
既然质因数分解的数最高也就100
那么定义n = 100,也就是要质因数分解的最大的数,就能收集到所需的质数了。
"""n = 100
p = [2]     # 质数集,其中2for i in range(3, n + 1):j = 2while j < i:if i % j == 0:      # 如果有比 i 小的数可以将i整除,就表示i为合数,break结束循环,就不会把i加入质数集中.breakj += 1else:p.append(i)m = {}
for i in p:m[i] = 1  # 每个质数初始为1,对应公式:”(某一质数的次数 + 1) * (某二质数的次数 + 1)“   中的1。for i in range(2, n + 1):# 遍历 [2, 100]    对应100的阶乘为1x2x3...x100。for j in p:              # 遍历质数,将每个参与100阶乘中相乘的数都质因数分解一下。# (比如 6 分解成 2*3 ,12 分解成 2*2*3)if j > i:            # 当所遍历到的质数比要进行质因数分解的数要大时,就直接结束这一层for j in p循环。breakwhile i % j == 0:    # 这里是看 i 可以被 "当前 j" 整除多少次,# 当 i 不能再被 "当前 j" 整除时,while循环结束,# for j in p循环继续尝试下一个j,直到j > i,满足if条件,breaki //= jm[j] += 1        # 让对应的质数个数 + 1s = 1   # 定义一个变量s,用于接收相乘得出的约数个数。(因为是相乘,所以s要等于1)for i in m.values():        # 所有质因子的个数相乘,就是约数个数了。s *= i
print(s)

【超详细】(蓝桥杯Python)阶乘约数:求100阶乘的正约数个数。相关推荐

  1. 蓝桥杯python组--基础训练---求输入的第n个,斐波那契数

    文章目录 题目 思路1: 结果 思路2: 结果 思路3 结果 思路4 结果 思路5 结果 思路6 结果 题目 求输入的第n个,斐波那契数 斐波那契数:斐波那契数列(Fibonacci sequence ...

  2. 受伤的皇后(超详细)--蓝桥杯真题DFS

    题目描述 题目直达 有一个 n \times n×n 的国际象棋棋盘(n 行 n 列的方格图),请在棋盘中摆放 n个受伤的国际象棋皇后,要求: 任何两个皇后不在同一行. 任何两个皇后不在同一列. 如果 ...

  3. 小学生蓝桥杯Python闯关 | 汇总

    学习Python从娃娃抓起!记录下蓝桥杯Python学习和备考过程中的题目,记录每一个瞬间. 1.小学生蓝桥杯Python闯关 | 获取字符串的最后一个字符_COCOgsta的博客-CSDN博客 2. ...

  4. [蓝桥杯python] 印章:共有n种图案的印章,每种图案的出现概率相同。小A买了m张印章,求小A集齐n种印章的概率

      [蓝桥杯python] 印章 问题描述 1.资源限制 2.输入格式 3.输出格式 4.样式输入及输出 5.代码及解析 大功告成!编写不易,大家成功后点个关注or赞谢谢~~ 问题描述 共有n种图案的 ...

  5. 蓝桥杯python组一个星期备战记录贴

    蓝桥杯python组一个星期备赛记录贴 文章目录 前言 注意事项: 一.贪心算法 二.最小生成树之Prim算法 三.动态规划 四.递归算法 五.树与堆 前言 目前是2021年4月11日,一位pytho ...

  6. 青少年蓝桥杯python组(STEMA中级组)

    STEMA中级-青少年蓝桥杯python组 第一套编程题 第一题 第二题 第三题 第四题 第五题 第二套编程题 第一题 第二题 第三题 第四题 第五题 第一套编程题 第一题 [编程实现] 输入一个字符 ...

  7. 第十三届蓝桥杯Python B组国赛题解

    第十三届蓝桥杯Python B组国赛题解 试题A:斐波那契与7 试题 B: 小蓝做实验 试题 C: 取模 试题 D: 内存空间 试题 E: 近似 GCD 试题 F: 交通信号 试题 G: 点亮 试题 ...

  8. 第十三届蓝桥杯Python 大学B组真题详解

    第十三届蓝桥杯Python B组真题详解 试题A 排列字母 试题B 寻找整数 试题C 纸张尺寸 试题D 位数排序 试题E 蜂巢 试题F 消除游戏 试题G 全排列的价值 试题H 技能升级 试题I 最长不 ...

  9. 2021第十二届蓝桥杯Python组国赛/决赛 题解

    2021第十二届蓝桥杯Python组国赛/决赛 题解 前言 2021年第十二届蓝桥杯国赛/决赛,因为疫情原因没有像往年一样前往北京参赛,而是在自己学校的机房进行考试,形式上类似蓝桥杯省赛,但由于参加国 ...

  10. 蓝桥杯Python这一篇就够了-训练系统题库合集(包括VIP试题)数据结构与算法

    第一版写于2020-11-13,第十一届蓝桥杯国赛前夕,老师和同学建议说写博文可以让学习更高效,陆陆续续写一些题解和学习笔记,在我的代码中我加了很多有助于理解程序的注释,希望这篇博客可以帮助你在蓝桥杯 ...

最新文章

  1. SQL查询月初与月末时间
  2. 'SVN更新' has encountered a problem :An internal error occurred during: svn错误
  3. 大数据传输,文件传输的专业解决方案!
  4. 求根号m(巴比伦算法)
  5. 计算机软考有学历限制吗,软考中级职称申请积分还需要学历吗?
  6. 多线程蜂鸣器研究,友善之臂Smart210开发版
  7. 什么是Reactive Streams in Java 译
  8. Unity 场景分页插件 World Streamer 支持无限大地图的解决方案(一)
  9. javascript调试 debugger 代码调试
  10. 基于北斗卫星的输电杆塔在线监测系统
  11. 【c】蔡勒公式计算日期
  12. 【vuejs】有关UI框架“ydui”中的tabbar底部导航的应用以及tabbar切换激活状态的现实
  13. 小学计算机教案设计ppt,小学信息技术制作幻灯片的教案
  14. 阿里的花名,真的是为了去人格化吗?
  15. Unity Obi插件修改到支持URP
  16. 计算机会计与手工会计的区别与联系,会计电算化与手工会计的差异和共同点各是什么...
  17. JavaScript脚本语言的使用
  18. Dynamo相关下载教程分享!(附软件包和Revit使用插件Revit Lookup下载教程)
  19. 《计算机网络》学习总结
  20. 莫尔斯编码的c语言实现,C程序-蓝桥-摩尔斯电码

热门文章

  1. owc报表控件 数据透视表_将数据透视图标题链接到报表过滤器
  2. 全国计算机等级考试二级Python真题及解析
  3. 趣写算法系列之--匈牙利算法
  4. 关于贪吃蛇的学习(1)
  5. 有关Linux 软件包管理器 yum的命令打字练习
  6. python验证码识别库_Python验证码识别
  7. Matlab安装MinGW64 Compiler
  8. 等保测评--- 岗位职责、权限划分设计思路(三权分立)
  9. Python爬虫与数据分析
  10. 常见26种NLP任务的练手项目