蓝桥杯python 基础训练16 分解质因数

问题描述
  求出区间[a,b]中所有整数的质因数分解。

输入格式
  输入两个整数a,b。
输出格式
  每行输出一个数的分解,形如k=a1a2a3…(a1<=a2<=a3…,k也是从小到大的)

样例输入
3 10
样例输出
3=3
4=22 5=5 6=23
7=7
8=222
9=33 10=25

思路:1.通过函数来判断这个区间的那些数是素数
 	2.通过函数来判断区间里数字的质数
while True:
    try:


        def su(n):

            for i in range(2,int(n**0.5)+1):
                if n%i == 0:
                    return False
                if i == int(n**0.5):
                    return  True

        def fen(num):

            for i in range(2,num+1):
                if num%i == 0:                   
                    sl.append(i)

                    num = num//i
                    fen(num)

                    break


        a,b = map(int,input().split())

        while a != b+1:

            sl = []

            if su(a):
               print("%d = %d" %(a,a))

            else:
                print("%d = " %a,end = '')
                fen(a)

            for i in range(len(sl)):
                print(sl[i],end = '')

                if i == len(sl)-1:
                    print()
                else:
                    print(' ',end = '')

            a+=1
        
    except:
        break
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值