【思特奇杯•云上蓝桥---算法训练营】第1周作业 蓝桥杯真题-阶乘约数(Python)

一,问题描述

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

补充:约数定义:数,又称因数。整数a除以整数b(b≠0) 除得的商正好是整数而没有余数,我们就说a能被b整除,或b能整除a。a称为b的倍数,b称为a的约数。比如6的约数是1,2,3,6,12的约数是1,2,3,4,6,12。

二,答案提交

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

三,答案代码 

#作业二 阶乘约数
from math import factorial
a=factorial(100)
print(a)
b=[]
for i in range(1,a+1):
    if a%i == 0:
        b.append(i)
print(len(b))

结果:39001250856960000 

四,题目解读 

题目很好理解,先求出100的阶乘是多少,在计算它的约个数,关键是如何统计约数的个数

五,代码解读

from math import factorial        #factorial是阶乘的意思,
a=factorial(100)
print(a)                          #用math库里的factorial函数求100阶乘
b=[]                      #创建空列表,填充约数,再用len()函数求个数
for i in range(1,a+1):     
    if a%i == 0:          #判断是否是约数      
        b.append(i)       #填充约数
print(len(b))             #求约数个数

如果阶乘的求法不太理解,可以看看我的另一篇博文,讲的如何求N的阶乘

链接:(12条消息) Python超简单4行代码实现N的阶乘。_TUSTer_的博客-CSDN博客

结语:我的解法比csdn上部分解法简单好懂了许多,如果能够帮助你,还是老规矩,希望给一个一键三连啊!由于手机端代码解读显示不完全,已经把这部分写道评论区了。

其他解法链接:(11条消息) [蓝桥杯]阶乘约数(Python实现)_d_l_w_d_l_w的博客-CSDN博客

今日一笑: 熊孩子

昨天因为一件事骂儿子,说你妈妈是猪,你也是头猪。儿子却反过来说我:爸爸你怎么这么衰,娶了一头猪,还生了一只猪!你说你这熊孩子,这是不是找打。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TUSTer_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值