编写一个程序来读取 n 个数字。指定为输入的第一个数字将是 n。接下来,程序应该读取 n 个整数。
程序应该检查每个数字是否是素数以及它的反向是否是素数。
按升序显示所有这些数字。
考虑下面的输入和输出示例:
输入:7 11 12 23 19 7 113 101
输出:
7 11 101 113
我的代码
public class Prime {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
int temp;
int[] a = new int [x];
int[] r = new int [x];
int[]c = new int[a.length+r.length];
int[] rev = new int [x];
for(int i=0;i<x;i++){
a[i] = sc.nextInt();
rev[i]=a[i];
}
for(int i = 0; i < a.length; i++) {
while(rev[i] != 0) {
r[i] = r[i] * 10;
r[i] = r[i] + rev[i]%10;
rev[i] = rev[i]/10;
}
}
for(int i = 0; i < a.length; i++) {
boolean isPrime = true;
for (int j = 2; j < i; j++) {
if((a[i]%j==0) || (r[i]%j==0)) {
isPrime = false;
break;
}
}
if(isPrime)
System.out.println(a[i]);
System.out.println(r[i]);
}
}
}
在某个地方我被卡住了我不知道如何消除重复的否,最后如何合并数组,并且当我给出输入和 2 时它打印 1 和 2 作为素数
叮当猫咪
阿晨1998
呼啦一阵风
繁星点点滴滴
相关分类