可以使用以下方法来求整数n以内的素数:
创建一个空的列表primes
来存储素数。
创建一个长度为n+1的布尔类型列表is_prime
,初始化所有元素为True
。其中is_prime[i]
表示数字i是否为素数。
从2开始,遍历2到n的所有数字i:
is_prime[i]
为True
,则将i添加到primes
列表中,并将is_prime
中i的所有倍数(除了i本身)设置为False
。primes
列表。以下是一个使用上述方法求解整数n以内的素数的示例代码:
def find_primes(n):
primes = []
is_prime = [True] * (n+1)
for i in range(2, n+1):
if is_prime[i]:
primes.append(i)
for j in range(i*2, n+1, i):
is_prime[j] = False
return primes
n = int(input("请输入一个整数n:"))
result = find_primes(n)
print(f"整数{n}以内的素数为:{result}")
这个代码会提示用户输入一个整数n,然后调用find_primes
函数来求解n以内的素数,并将结果打印出来。