当前位置: 主页 > JAVA语言

java输入2个正整数m和n-输入两个正整数m和n

发布时间:2023-04-23 07:01   浏览次数:次   作者:佚名

可以使用筛法求解。具体步骤如下:1. 创建一个长度为n+1的布尔型数组prime,用来标记每个数是否为素数。初始java输入2个正整数m和n,将所有元素都标记为true。2. 从2开始,依次枚举每个数i,如果prime[i]为true,则将i的所有倍数(除了i本身)标记为false,因为它们不是素数。3. 最后遍历[m,n]区间,输出所有prime[i]为true的i,即为[m,n]区间的所有素数。代码实现如下:```pythonm, n = map(int, input().split())# 初始化prime数组prime = [True] * (n+1)prime[] = prime[1] = False# 筛法求素数for i in range(2, int(n**.5)+1):if prime[i]:for j in range(i*i, n+1, i):prime[j] = False# 输出[m,n]区间的素数for i in range(m, n+1):if prime[i]:print(i, end=' ')```例如java输入2个正整数m和n,输入m=10,n=30,输出结果为:```11 13 17 19 23 29```