java输入一个正整数n,统计x的个数 (1)1≤x≤n,x是素数。 (2)x去掉个位数后,仍然是素数。
时间: 2024-03-08 12:46:13 浏览: 54
好的,这是一个关于素数的问题,我来给你提供一个 Java 代码实现:
```java
import java.util.Scanner;
public class Main {
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;
}
public static int countPrimes(int n) {
int count = 0;
for (int i = 2; i <= n; i++) {
if (isPrime(i) && isPrime(Integer.parseInt(String.valueOf(i).substring(0, String.valueOf(i).length() - 1)))) {
count++;
}
}
return count;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
System.out.println("1<=x<=n, x是素数的个数为: " + countPrimes(n));
System.out.println("x去掉个位数后仍然是素数的个数为: " + countPrimes(n));
}
}
```
这段代码中,我们首先定义了一个 `isPrime` 方法,用于判断一个数是否为素数。然后定义了一个 `countPrimes` 方法,用于统计满足条件的素数个数。最后使用 Scanner 读入一个正整数 n,分别输出1<=x<=n,x是素数的个数以及x去掉个位数后仍然是素数的个数。
阅读全文