Java程序显示两个区间之间的素数


在这篇文章中,我们将了解如何在两个区间之间显示素数。素数是只有两个因子1和自身,并且不能被任何其他数字整除的特殊数字。

如果一个数的唯一因子只有1和它自身,那么它就是一个素数。11是一个素数。它的因子是1和11自身。一些素数的例子是2、3、5、7、11、13等等。2是唯一一个偶数素数。所有其他素数都是奇数。

问题陈述

编写一个Java程序来显示两个给定区间内的所有素数。素数是一个大于1的自然数,除了1和它自身之外,不能被任何其他数字整除。下面是相同的演示 -

输入

Starting number: 1
Ending number: 75

输出

The prime numbers between the interval 1 and 75 are:
1 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73

方法1:从用户输入中获取素数

在这种方法中,我们提示用户输入起始数字和结束数字,然后我们迭代这个范围以查找并显示素数 -

  • 开始
  • 声明值:my_high、my_low、i、my_temp
  • 从用户读取值:提示用户输入起始和结束数字
  • 运行一个while循环:从my_low迭代到my_high
  • 运行一个for循环:检查当前数字是否可以被从2到current_number/2的任何数字整除
  • 显示结果:打印找到的素数
  • 结束

示例

在这里,输入由用户根据提示输入。你可以在我们的代码练习工具运行按钮中实时尝试此示例 -

import java.util.Scanner;
public class PrimeNumber {
 public static void main(String[] args) {
int my_high, my_low, i;
boolean my_temp;
System.out.println("Required packages have been imported");
Scanner my_scanner = new Scanner(System.in);
System.out.println("A reader object has been defined ");
System.out.print("Enter the starting number : ");
my_low = my_scanner.nextInt();
System.out.print("Enter an ending Number: ");
my_high = my_scanner.nextInt();
System.out.println("The prime numbers between the interval " + my_low + " and " + my_high + " are:");
while (my_low < my_high) {
 my_temp = false;
 for(i = 2; i <= my_low/2; ++i) {
            if(my_low % i == 0) {
               my_temp = true;
               break;
            }
         }
         if (!my_temp && my_low != 0 && my_low != 1)
            System.out.print(my_low + " ");
         ++my_low;
      }
   }
}

输出

Required packages have been imported
A reader object has been defined
Enter the starting number : 1
Enter the ending number : 75
The prime numbers between the interval 1 and 75 are:
1 2 5 3 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73

方法2:显示预定义范围内的素数

在这种方法中,我们使用预定义的起始数字和结束数字来查找并显示此范围内的素数 -

  • 开始
  • 声明值:my_high、my_low、i、my_temp
  • 定义值:设置my_low = 1和my_high = 75
  • 运行while循环:从my_low迭代到my_high
  • 运行for循环:检查当前数字是否可以被从2到current_number/2的任何数字整除
  • 显示结果:打印找到的素数
  • 结束

示例

这里,整数已预先定义,其值在控制台中访问并显示 -

public class PrimeNumber {
 public static void main(String[] args) {
int my_high, my_low, i;
boolean my_temp;
my_low = 1;
my_high = 75;
System.out.println("The starting and ending numbers are defined as " + my_low + " and " + my_high);
System.out.println("The prime numbers between the interval " + my_low + " and " + my_high + " are:");
while (my_low < my_high) {
 my_temp = false;
 for(i = 2; i <= my_low/2; ++i) {
if(my_low % i == 0) {
 my_temp = true;
 break;
}
 }
 if (!my_temp && my_low != 0 && my_low != 1)
System.out.print(my_low + " ");
 ++my_low;
}
 }
}

输出

The starting and ending numbers are defined as 1 and 75
The prime numbers between the interval 1 and 75 are:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73

结论

在本教程中,我们实现了一个Java程序来查找两个区间之间的素数,该程序涉及检查每个数字以查看它是否除了1和自身之外没有其他除数。此过程有助于理解基本的编程概念,例如循环和条件语句。该方法对于小范围有效,但对于大范围可能会变慢。它还使用少量固定的内存,使其成为在编程中平衡时间和空间效率的良好示例。

更新于:2024年7月23日

2K+ 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告