用java,任意输入一个整数,判断它是否位素数。若为素数,则打印"yes",否则打印"no"
时间: 2023-05-20 08:01:32 浏览: 86
以下是Java代码,可以判断输入的整数是否为素数:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
if (isPrime(num)) {
System.out.println("yes");
} else {
System.out.println("no");
}
}
private static boolean isPrime(int num) {
if (num <= 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
}
请注意,这只是一个简单的示例代码,可能存在一些边界情况需要进一步考虑。
相关问题
请用java来写 任意输入一个整数,判断它是否为素数。若为素数,则打印“yes”,否则打印“no”。主类名:Sushu
以下是主类名为Sushu的Java代码,用于判断输入的整数是否为素数:
```java
import java.util.Scanner;
public class Sushu {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
boolean isPrime = true;
if (num < 2) {
isPrime = false;
} else {
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) {
isPrime = false;
break;
}
}
}
if (isPrime) {
System.out.println("yes");
} else {
System.out.println("no");
}
}
}
```
你可以将任意整数输入到控制台中,程序将会判断该数是否为素数,并输出相应的结果。
注意:该程序只能判断小于等于2的31次方减1的整数是否为素数,如果输入的数超出了这个范围,程序可能会出现错误。
利用while循环输入一个正整数,判断其是否为素数,是则输出Yes,否则输出No
好的,以下是利用while循环输入一个正整数,判断其是否为素数的代码实现:
```python
num = int(input("请输入一个正整数:"))
is_prime = True
if num < 2:
is_prime = False
else:
i = 2
while i < num:
if num % i == 0:
is_prime = False
break
i += 1
if is_prime:
print("Yes")
else:
print("No")
```
解释一下代码:
- 首先,我们利用 `input` 函数输入一个正整数,并且将其转换成整数类型 `num`。
- 然后,我们设置一个布尔型变量 `is_prime`,并将其初始化为 `True`。这个变量用来判断 `num` 是否为素数。
- 如果 `num` 小于 2,那么其一定不是素数,此时将 `is_prime` 赋值为 `False`。
- 如果 `num` 大于等于 2,那么我们使用 `while` 循环来判断其是否为素数。我们从 2 开始依次检查 `num` 能否被 2 到 `num-1` 中的任意一个整数整除,如果能,则说明 `num` 不是素数,将 `is_prime` 赋值为 `False`,并使用 `break` 语句退出循环。如果 `num` 不能被整除,则继续循环。
- 最后,根据 `is_prime` 的值输出结果,如果为 `True`,则输出 "Yes",否则输出 "No"。
希望这个代码对你有帮助!