python将一个正整数分解质因数

质数又称为素数,要解决这个问题,我们首先要对输入的数字进行判断,判断其本身是否为素数。

如果为素数则其因式只有1与其本身。

def f3(n):#判断一个数字是否为素数
    list1=[]#创建空列表用以盛放元素
    for i in range(2,n):#对范围(2,n-1)依次取余
        if n%i==0:#这时代表n并非是个素数
            list1.append(i)
    if len(list1) == 0:
        return True
    else:
        return False

创建好这个函数之后,我们开始整体代码的编写

def f3(n):#判断一个数字是否为素数
    list1=[]
    for i in range(2,n):
        if n%i==0:
            list1.append(i)
    if len(list1) == 0:
        return True
    else:
        return False
def fundation(n):#定义主要函数
    l1 = []
    k=n
    if f3(n):#如果n是素数直接输出结果
        print('{}=={}*1'.format(n, n))
    else:#n如果不是素数进行后续处理
        while True:#无限进行循环对n进行处理
            for i in range(2,k):#k==n,即判断他除了1外的其他因子
                if n%i==0 and f3(i):#条件使i为n的一个因子,且是一个素数
                    l1.append(i)#将i添加进空列表备用
                    n=n//i#条件符合对n的值进行修改
            if f3(n):
                l1.append(n)
                break#处理至也为素数时跳出循环体,并将n添加进列表
    for j in range(len(l1)):
        print('{}*'.format(l1[0]),end='')
        l1.pop(0)#保证每次打印不同的元素
    else:
        print('1',end='')
    return ''#防止返回空值
n=int(input('输入一个数字:'))
print('{1}={0}'.format(n,fundation(n)))

这样就实现了我们的目的,谢谢大家的阅览

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值