蓝桥杯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

你可能感兴趣的:(蓝桥杯python 基础训练16 分解质因数)