Java反复输入一个数 判断并返回是否为素数
时间: 2023-04-03 15:04:51 浏览: 77
可以回答这个问题。以下是解答:
要判断一个数是否为素数,可以使用以下算法:
1. 如果这个数小于2,那么它不是素数。
2. 如果这个数等于2,那么它是素数。
3. 如果这个数是偶数,那么它不是素数。
4. 对于奇数n,从3到sqrt(n)枚举i,如果n能被i整除,那么它不是素数。
以下是Java代码实现:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
if (n < 2 || (n > 2 && n % 2 == 0)) {
System.out.println("不是素数");
return;
}
for (int i = 3; i <= Math.sqrt(n); i += 2) {
if (n % i == 0) {
System.out.println("不是素数");
return;
}
}
System.out.println("是素数");
}
}
相关问题
Java从键盘输入一个数判断是否为素数
可以使用以下Java代码判断输入的数字是否为素数:
```java
import java.util.Scanner;
public class PrimeNumber {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个正整数:");
int num = scanner.nextInt();
boolean isPrime = true;
if (num <= 1) {
isPrime = false;
} else {
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) {
isPrime = false;
break;
}
}
}
if (isPrime) {
System.out.println(num + "是素数");
} else {
System.out.println(num + "不是素数");
}
}
}
```
该程序首先从键盘读取一个正整数,然后判断该数是否小于或等于1,如果是,则该数不是素数。否则,使用一个循环遍历从2到该数的平方根之间的所有数字,判断是否能够整除该数。如果存在一个能够整除该数的数字,那么该数就不是素数。如果遍历结束仍然没有找到一个能够整除该数的数字,那么该数就是素数。
输入一个数判断是否为质数java
好的,我可以回答这个问题。以下是判断一个数是否为质数的 Java 代码:
```
public boolean isPrime(int n) {
if (n <= 1)
return false;
for (int i = 2; i <= Math.sqrt(n); i++) {
if (n % i == 0)
return false;
}
return true;
}
```
这段代码会返回一个布尔值,如果输入的数是质数则返回 true,否则返回 false。希望这能帮助到你。