题目 1464: 蓝桥杯基础练习VIP-分解质因数
时间限制: 1Sec 内存限制: 128MB 提交: 3835 解决: 2257
题目描述
求出区间[a,b]中所有整数的质因数分解。
提示
先筛出所有素数,然后再分解。
数据规模和约定
输入
输入两个整数a,b。
2< =a< =b< =10000
输出
每行输出一个数的分解,形如k=a1*a2*a3...(a1< =a2< =a3...,k也是从小到大的)(具体可看样例)
样例输入复制
3 10
样例输出复制
3=34=2*25=56=2*37=78=2*2*29=3*310=2*5
分解质因数:把一个合数分解成若干个质因数的乘积的形式,即求质因数的过程叫做分解质因数。
def fj(a,b): for i in range(a,b+1): jilu=[] n=i while True: for j in zs: if(n%j==0): jilu.append(j) break if(n//j==1): break n=n//j zhiy='*'.join(map(str,jilu)) #把列表中的元素转化为字符串,然后转化成一个用*分割的一整个字符串 print("{}={}".format(i,zhiy)) zs=[2]for i in range(3,10001):#创建质数列表 for j in range(2,i//2+2): if(i%j==0): break if(j==i//2+1): zs.append(i)a,b=map(int,input().split())fj(a,b)