(本人蒟蒻,dalao勿喷)需要代码往下翻,最后的代码最简洁喔~
一、rt,首先我们要知道如何获得素数:
1、使用列表表达式,这样获得的是素数的列表
sushu=[p for p in range(2, 100) if 0 not in [p%d for d in range(2, int(p**0.5)+1)]] print(sushu)
2、使用循环,这样获得的是各个单独的数(当然也可以使用append变成列表)
for p in range(2,a): if 0 not in [p%d for d in range (2,int(p**0.5)+1)]: print(p)
3、还可以使用函数逐个检查
def is_prime(n): if n <= 1: return False for i in range(2, int(n**0.5)+1): if n % i == 0: return False return True
二、如何获取乘积为输入的正整数a的两个质数:
1、新手很可能会利用循环嵌套,嵌套判断,最后把乘积是正整数a的两个数找出来,输出最大的那一个
a=int(input()) for p in range(2,a): if 0 not in [p%d for d in range (2,int(p**0.5)+1)]: for q in range(2, a): if 0 not in [q % d for d in range(2, int(q ** 0.5) + 1)] : if p*q