蓝桥杯试题基础练习 Python实现分解质因数

问题描述

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

输入格式

输入两个整数a,b。

输出格式

每行输出一个数的分解,形如k=a1a2a3…(a1<=a2<=a3…,k也是从小到大的)(具体可看样例)

样例输入

3 10

样例输出

3=3
4=22
5=5
6=2
3
7=7
8=222
9=33
10=2
5

提示

先筛出所有素数,然后再分解。

数据规模和约定

2<=a<=b<=10000

我的代码

def find(n): #写一个函数来直接输出n的表达式
    s = str(n) + '='
    i = 2
    while i <= n: # 当i
        if n%i == 0: #i是因子的时候就加到末尾
            s = s + str(i) + '*'
            n = n//i
            i -= 1 #再次判断i是不是n的因子
        i += 1 #遍历i
    return s[:-1] #最后一个乘号不要
m,n = map(eval,input().split())
for i in range(m,n+1): #逐个输出m到n的表达式
    print(find(i))

你可能感兴趣的:(蓝桥杯Python)