【基础】练习册31-Python3_正整数分解质因数2

代码如下:

# 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5

#程序注意:正数、负数、0三种的输入和打印的不同;因子的求解;分解因数的打印

#方法一:利用列表append添加因数

num=int(input('请输入一个整数:'))

if num==0:

    #特殊处理 输入0的情况

    print('该数为0,请重新输入!')

    exit()

k=num

lst=[]

flag=0

if(num<0):

    #复数的处理

    flag=1

    num=abs(num)

n=num

for i in range(int(n/2)+1):

    #找出输入数字的分解因子

    #range对象只能是正整数,n/2可能产生小数,且m/2是最大循环次数

    #循环次数:n最大的因子是本身(质数),最小的因子是2

    for j in range(2,n):

        if(num%j==0):

            lst.append(j)

            num=num//j

            break

if(len(lst)==0):

    #没有因子的质数判断

    print('该数为质数,请重新输入!')

    exit()

print('%d='%k,end='')

if flag==1:

    #负数打印需添加符号

    print('-1*',end='')

for k in range(len(lst)):

    #lst[]数列打印出来,最后一个数字需要有区分

    if k==len(lst)-1:

        print('%s'%lst[k])

    else:

        print('%s*'%lst[k],end='')

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容