赞
踩
本题要求统计给定整数 M M M 和 N N N 区间内素数的个数并对它们求和。
输入在一行中给出两个正整数 M M M 和 N ( 1 ≤ M ≤ N ≤ 500 ) N(1≤M≤N≤500) N(1≤M≤N≤500)。
在一行中顺序输出 M M M 和 N N N 区间内素数的个数以及它们的和,数字间以空格分隔。
10 31
7 143
本题要求统计给定整数 M M M 和 N N N 区间内素数的个数并对它们求和。
首先,我们需要判断一个数是否为素数。素数是指只能被 1 和自身整除的大于 1 的整数。因此,我们可以编写一个函数 is_prime
来判断一个数是否为素数。
接下来,我们需要遍历从 M M M 和 N N N 的每个数,检查是否是素数,并将素数的个数和它们的和累加到相应的变量中。
最后,将素数的个数和它们的和输出即可。
根据上述思路,我们可以编写代码实现这个过程。
# 判断是否为素数的函数 def is_prime(num): # 小于2的数不是素数 if num < 2 : return False # 判断n能否被2到n的平方根之间的数整除 for i in range(2, int(num ** 0.5) + 1): if num % i == 0: return False return True # 输入m和n m, n = map(int, input().split()) # 初始化 prime_sum = 0 prime_count = 0 # 遍历从m到n的每个数,检查是否是素数并累加到素数和中 for number in range(m, n + 1): if is_prime(number): prime_sum += number prime_count += 1 # 输出素数和 print(prime_count, prime_sum)
以上代码中,我们首先定义了一个 is_prime
函数,用于判断一个数是否为素数。然后,通过输入函数获取用户输入的 M 和 N 的值。
接下来,我们初始化变量 prime_sum
和 prime_count
,用于记录素数的和和个数。
然后,我们通过一个循环遍历从 M 到 N 的每个数,并使用 is_prime
函数判断是否为素数。如果是素数,则将这个数累加到 prime_sum
中,并将 prime_count
值加一。
最后,输出 prime_count
和 prime_sum
的值即可。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。