蓝桥杯————试题C:阶乘约数 本题总分:10分

该博客探讨了如何计算100的阶乘(100!)并确定其约数的数量。通过使用阶乘的定义和数学方法,作者展示了如何计算得到100!的结果,并使用代码实现来找出其约数总数,结果为39001250856960000个约数。
摘要由CSDN通过智能技术生成

题目

【问题描述】
定义阶乘 n! = 1 × 2 × 3 × · · · × n。
请问 100! (100 的阶乘)有多少个约数。

【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。
本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

解题思路

代码

import math


def count(num: int):
    k, ans = 2, 1
    while k < (num // k):
        p = 1
        while num % k == 0:
            num //= k
            p += 1
        ans *= p
        k += 1
    if num > 1:
        ans *= 2
    return ans


if __name__ == '__main__':
    n = math.factorial(100)
    print(f'100! = {n}')
    print(f'约数个数 = {count(n)}')

运行结果

39001250856960000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值