使用java写出一个判断质数的代码
时间: 2023-05-17 15:05:39 浏览: 83
以下是使用 Java 编写的判断质数的代码:
```java
public static 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;
}
```
该代码接受一个整数作为参数,返回一个布尔值,表示该整数是否为质数。如果该整数小于等于 1,则直接返回 false。否则,从 2 开始遍历到该整数的平方根,如果该整数能被任何一个小于它的正整数整除,则返回 false,否则返回 true。
相关问题
使用java的while语句写出一个判断质数的代码
以下是使用 Java 的 while 语句写出判断质数的代码:
```
import java.util.Scanner;
public class PrimeNumberChecker {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个正整数:");
int number = scanner.nextInt();
boolean isPrime = true;
int i = 2;
while (i <= number / 2) {
if (number % i == 0) {
isPrime = false;
break;
}
i++;
}
if (isPrime) {
System.out.println(number + " 是质数");
} else {
System.out.println(number + " 不是质数");
}
}
}
```
该程序会提示用户输入一个正整数,然后使用 while 循环从 2 开始逐个判断该数是否能被 2 到该数的一半之间的任意一个数整除,如果能整除,则该数不是质数,否则该数是质数。
用java写出求100内素数的代码
### 回答1:
public class PrimeNumber {
public static void main(String[] args) {
int num;
boolean isPrime;
for (num = 2; num <= 100; num++) {
isPrime = true;
for (int i = 2; i <= num / 2; i++) {
if (num % i == 0) {
isPrime = false;
break;
}
}
if (isPrime)
System.out.println(num + "是素数");
}
}
}答案:public class PrimeNumber {
public static void main(String[] args) {
int num;
boolean isPrime;
for (num = 2; num <= 100; num++) {
isPrime = true;
for (int i = 2; i <= num / 2; i++) {
if (num % i == 0) {
isPrime = false;
break;
}
}
if (isPrime)
System.out.println(num + "是素数");
}
}
}
给出的这段代码是用来求100内的素数的。
### 回答2:
以下是用Java语言编写的求100以内素数的代码:
```
public class PrimeNumbers {
public static void main(String[] args) {
System.out.println("100以内的素数有:");
for (int i = 2; i < 100; i++) {
if (isPrime(i)) {
System.out.print(i + " ");
}
}
}
// 判断一个数是否为素数的方法
public static boolean isPrime(int num) {
if (num < 2) {
return false;
}
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
}
```
上述代码中,首先使用一个for循环从2开始遍历到100,对于每一个数,调用isPrime()方法判断其是否为素数。isPrime()方法中使用了一个for循环从2开始遍历到Math.sqrt(num),如果有任何一个数可以整除num,则num不是素数,返回false。如果循环结束后都没有整除num的数,则num是素数,返回true。
我们在主方法中输出所有求得的素数。运行代码后,输出结果为:2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97,即为100以内的素数。
### 回答3:
以下是用Java编写求100以内素数的代码:
```java
public class PrimeNumbers {
public static void main(String[] args) {
System.out.println("100以内的素数有:");
// 从2开始遍历到100
for (int i = 2; i <= 100; i++) {
boolean isPrime = true;
// 尝试除以2到根号i之间的数
for (int j = 2; j <= Math.sqrt(i); j++) {
// 如果能整除,说明不是素数
if (i % j == 0) {
isPrime = false;
break;
}
}
// 如果是素数,则输出
if (isPrime) {
System.out.print(i + " ");
}
}
}
}
```
上述代码通过遍历2到100之间的所有数,对每个数进行试除运算,判断是否能被2到这个数的平方根之间的数整除。如果不能整除,则这个数是素数,否则不是。素数是指除了1和本身之外没有其他因数的数。在运行时,上述代码会输出100以内的所有素数:2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97。
阅读全文