from math import sqrt
# 初始化一个空列表,用于存储找到的质数
primes = []
for i in range(601, 700):
# 假设当前数字是质数
is_prime = True
# 计算当前数字的平方根并取整
sq = int(sqrt(i))
# 遍历2到平方根的范围,检查是否有能整除当前数字的数
for j in range(2, sq + 1):
if i % j == 0:
# 如果找到能整除的数,则将is_prime标记为False
is_prime = False
break
# 如果经过遍历后is_prime仍为True,则将该数字加入质数列表
if is_prime:
primes.append(str(i))
# 打印找到的质数数量及列表
print(f'在600到700之间共有{len(primes)}个质数,分别是:{", ".join(primes)}')
# 不使用sqrt的方法
def count_primes_in_range(start, end):
"""
计算并返回指定范围内(含边界)的质数数量,同时输出这些质数。
参数:
- start (int): 范围起始值。
- end (int): 范围结束值。
返回值:
- 无,但会直接输出范围内的所有质数。
"""
primes_count = 0
for num in range(start, end + 1):
if is_prime(num):
primes_count += 1
print(num)
print(f"在 {start} 到 {end} 范围内共有 {primes_count} 个质数。")
def is_prime(n):
"""
判断一个整数是否为质数。
参数:
- n (int): 待判断的整数。
返回值:
- True: 如果 n 是质数。
- False: 如果 n 不是质数。
"""
if n <= 1:
return False
elif n == 2:
return True
elif n % 2 == 0:
return False
else:
for i in range(3, int(n ** 0.5) + 1, 2):
if n % i == 0:
return False
return True
count_primes_in_range(600, 700)
Day:计算600到700两个数之间的质数
未经允许不得转载:创想未来 » Day:计算600到700两个数之间的质数
评论前必须登录!
注册