PTA-计算m到n之间所有素数的和

计算m到n之间所有素数的和,其中 2 <= m <=n <=100

输入格式:

请在这里写输入格式。例如:输入两个正整数

输出格式:

请在这里描述输出格式。例如:输出两个正整数之间的素数和。

输入样例:

在这里给出一组输入。例如:

2 10

输出样例:

在这里给出相应的输出。例如:

17

 Python版本:

def is_prime(num):  
    if num < 2:  
        return False  
    for i in range(2, int(num**0.5)+1):  
        if num % i == 0:  
            return False  
    return True  
  
m, n = map(int, input().split())  
prime_sum = 0  
for i in range(m, n+1):  
    if is_prime(i):  
        prime_sum += i  
print(prime_sum)

结果:

PTA-计算m到n之间所有素数的和_第1张图片

总结:

这个程序的目的是计算在用户输入的两个数字之间(包括这两个数字)的所有质数的总和。下面是对这个程序的详细分析。

  1. 首先,定义了一个名为 is_prime 的函数,这个函数检查一个给定的数字是否为质数。

    • 如果数字小于2,函数直接返回 False,因为1不是质数,而2是唯一的偶数质数。
    • 对于每个数字 num,从2到 num 的平方根(因为一个大于1的非质数可以表示为两个小于等于其平方根的数的乘积),程序检查 num 是否可以被 i 整除。如果可以,那么 num 就不是质数,函数返回 False
    • 如果函数检查了所有的 i 并且没有找到任何可以整除 num 的数,那么 num 是质数,函数返回 True
  2. 程序从用户获取两个输入数字 m 和 n,然后初始化一个名为 prime_sum 的变量为0,用于存储质数的总和。

  3. 对于在 m 和 n 之间的每一个数字 i(包括 m 和 n),程序调用 is_prime 函数检查 i 是否为质数。如果是,就将 i 加到 prime_sum 中。

  4. 最后,程序打印出 prime_sum,即在 m 和 n 之间的所有质数的总和。

你可能感兴趣的:(算法,数据结构)