蓝桥杯 Python 练习题 分解质因数

蓝桥杯 Python 练习题 分解质因数,第1张

蓝桥杯 Python 练习题 分解质因数

题目 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=3
4=2*2
5=5
6=2*3
7=7
8=2*2*2
9=3*3
10=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)

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5720512.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存