python输出任意两个正整数a,b,计算区间【a,b】内的素数个数并输出最后一个素数。

计算区间 [a,b][a, b] 内的素数个数并输出最后一个素数的问题可以通过以下Python程序实现:

python
import math def is_prime(num): """ 判断一个数是否为素数 """ if num <= 1: return False if num == 2: return True # 2是素数 if num % 2 == 0: return False # 偶数不是素数 # 从3开始,只检查奇数 for i in range(3, int(math.sqrt(num)) + 1, 2): if num % i == 0: return False return True def count_and_last_prime(a, b): """ 计算区间[a, b]内的素数个数和最后一个素数 """ prime_count = 0 last_prime = None for num in range(a, b + 1): if is_prime(num): prime_count += 1 last_prime = num return prime_count, last_prime # 输入两个正整数a和b a = int(input("请输入正整数a:")) b = int(input("请输入正整数b:")) # 调用函数计算素数个数和最后一个素数 count, last_prime = count_and_last_prime(a, b) # 输出结果 print(f"区间[{a}, {b}]内的素数个数为:{count}") if last_prime is not None: print(f"区间[{a}, {b}]内的最后一个素数为:{last_prime}") else: print(f"区间[{a}, {b}]内没有素数。")

解释和关键点:

  1. is_prime 函数: 用于判断一个数是否为素数。素数是大于1且除了1和它本身外没有其他因子的数。

  2. count_and_last_prime 函数: 计算区间 [a,b][a, b] 内的素数个数和最后一个素数。遍历区间内的每个数,判断是否为素数,并记录最后一个素数。

  3. 输入和输出: 用户输入两个正整数 aabb,程序计算输出区间 [a,b][a, b] 内的素数个数和最后一个素数。

关键字:

Python, 素数, 区间, 函数, 输入输出