蓝桥杯python题目:分解质因数
这个题目是我单独挑出来详细说的,具体题目在这里(第十题)》》
蓝桥杯python部分题目和答案分享(个人做法)通俗易懂 [十题]_小白非常的博客-优快云博客
'''python分解质因数的函数'''
num=int(input('一个整数'))
def fj(num):
print( str(num) +'=',end='')
flag=0 #定义哨兵flag
ls = []
if num<0:
print('-1*',end='')
num=abs(num)
if 0<=num<=1:
print(num)
flag=1 #上面这段如果给出num范围大于1可去掉
while True:
if flag==1:
break
for i in range(2,num+1):
if num%i==0:
ls.append(str(i))
##print('{}'.format(i),end='') #原始一个个输出的方法
if num==i:
flag=1
print('*'.join(ls))
break #单独上面这段相当于找出因数
##print('*',end='') #原始一个个输出的方法
num=int(num/i) #注意前面for里num+1会改变
break
'''python分解质因数的函数'''
》》》函数实现结果如下图所示《《《
》》2023.4.5补充内容:
“质数是指:在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。”
“因数是指:整数a除以整数b(b≠0) 的商 正好是整数而没有余数,我们就说b是a的因数。”
“在涉及浅层计算中,约数 可以等效为 因数(可以认为是同一种东西)”
》》所以一个数的质因数X:
【(1)X的因数只有1和X本身(2)这个数取余X==0且X是整数】
举例子:2×2×2=8这个等式中,数字2是数字8的约数,且2还属于质数,就称2是8的质因数
在这里:约数就是因数的意思(只要%取余==0)【注意对称性,到根号那个整数结束】
——————————————— Thanks♪(・ω・)ノ感谢阅读 ————————————————