蓝桥杯第十一届国赛Python组试题C阶乘约数——唯一分解定理的应用

简介: 定义阶乘 n! = 1 × 2 × 3 × · · · × n。请问 100! (100 的阶乘)有多少个约数。

试题 C: 阶乘约数

问题描述

定义阶乘 n! = 1 × 2 × 3 × · · · × n。

请问 100! (100 的阶乘)有多少个约数。

思路

直接求100的阶乘数值之后再求所有的约数的方式不可取,时间需求太大,这里使用唯一分解定理。

唯一分解定理

2345_image_file_copy_7.jpg


简而言之就:


2345_image_file_copy_8.jpg

用在这里若想求出100!的所有质数所消耗时间也是非常大,这里求出逐个1-100内所有的质数个数,质数个数求和,最后再相乘即可。

题解

def jiechengyueshu2():
  # 哈希表 存放质数
    temp = {}
    # 求出100以内所有质数
    for i in range(2, 101):
        judge = True
        for j in range(2, floor(sqrt(i))+1):
            if i % j == 0:
                judge = False
        if judge:
            temp[i] = 1
    #  求出2-100所有的质数和
    for i in range(2, 101):
        index = i
        for key in temp.keys():
            while index % key == 0:
                index //= key
                temp[key] += 1
    ans = 1
    # print(temp)
    # 按照唯一分解定理规律,将所有质数之和相乘即可,这里没有每一项都+1,因为哈希表中每一项的初始值为1
    for i in temp.values():
        ans *= i
    print(ans)


目录
相关文章
|
19天前
|
Python
蓝桥杯练习题(一):Python组之入门训练题
这篇文章是关于蓝桥杯Python组的入门训练题,包括Fibonacci数列、圆的面积、序列求和和A+B问题的具体代码实现和样例输出。
82 0
|
2月前
|
存储 Python
Python示例:分解一个不多于指定位的正整数
Python示例:分解一个不多于指定位的正整数
29 0
|
18天前
|
数据可视化 算法 Python
基于OpenFOAM和Python的流场动态模态分解:从数据提取到POD-DMD分析
本文介绍了如何利用Python脚本结合动态模态分解(DMD)技术,分析从OpenFOAM模拟中提取的二维切片数据,以深入理解流体动力学现象。通过PyVista库处理VTK格式的模拟数据,进行POD和DMD分析,揭示流场中的主要能量结构及动态特征。此方法为研究复杂流动系统提供了有力工具。
48 2
基于OpenFOAM和Python的流场动态模态分解:从数据提取到POD-DMD分析
|
19天前
|
存储 机器学习/深度学习 算法
蓝桥杯练习题(三):Python组之算法训练提高综合五十题
蓝桥杯Python编程练习题的集合,涵盖了从基础到提高的多个算法题目及其解答。
33 3
蓝桥杯练习题(三):Python组之算法训练提高综合五十题
|
5月前
|
存储 机器学习/深度学习 算法
第十五届蓝桥杯pb组国赛E题[马与象] (15分)BFS算法 详解
第十五届蓝桥杯pb组国赛E题[马与象] (15分)BFS算法 详解
52 3
|
19天前
|
人工智能 Python
蓝桥杯练习题(四):Python组之历届试题三十题
关于蓝桥杯Python组历届试题的三十个练习题的总结,包括题目描述、输入输出格式、样例输入输出以及部分题目的解题思路和代码实现。
15 0
蓝桥杯练习题(四):Python组之历届试题三十题
|
19天前
|
存储 机器学习/深度学习 算法
蓝桥杯练习题(二):Python组之基础练习三十题
蓝桥杯Python编程练习题的集合,包含了三十个不同难度的编程题目,覆盖了基础语法、数据结构和算法等领域。
15 0
|
2月前
|
存储 Python
Python示例:分解一个不多于指定位的正整数
Python示例:分解一个不多于指定位的正整数
36 0
|
4月前
|
并行计算 算法 Python
Dantzig-Wolfe分解算法解释与Python代码示例
Dantzig-Wolfe分解算法解释与Python代码示例
|
5月前
|
存储 算法 测试技术
第十五届蓝桥杯大赛 国赛 pb组F题【括号与字母】(15分) 栈的应用
第十五届蓝桥杯大赛 国赛 pb组F题【括号与字母】(15分) 栈的应用
34 1