一,问题描述
定义阶乘 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博客
今日一笑: 熊孩子
昨天因为一件事骂儿子,说你妈妈是猪,你也是头猪。儿子却反过来说我:爸爸你怎么这么衰,娶了一头猪,还生了一只猪!你说你这熊孩子,这是不是找打。