回文质数
做题仔细看说明提示,可以带来灵感,这篇文章小编先Mark一下.
- 回文求解
public static boolean IsHuiwen(int x) {
if (x < 0 || (x % 10 == 0 && x != 0))
return false;
int j = 0;
while (x > j) {
j = j * 10 + x % 10; //从低位反转
x = (int) x / 10;
}
return x == j || x == (int)j / 10;
}
- 求质数
public static boolean IsShow(int k) {
boolean flag = true;
for (int i = 2; i < k; i++) {
if (k % i == 0) {
flag = false;
break;
}
}
return flag;
}
最后附加上整体的代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
boolean flag = false;
for (int i = a; i <= b; i++)
{
if(IsHuiwen(i) == true){
flag = IsShow(i);
if (flag) {
System.out.println(i);
}
}
}
}
public static boolean IsShow(int k) {
boolean flag = true;
for (int i = 2; i < k; i++) {
if (k % i == 0) {
flag = false;
break;
}
}
return flag;
}
public static boolean IsHuiwen(int x) {
if (x < 0 || (x % 10 == 0 && x != 0))
return false;
int j = 0;
while (x > j) {
j = j * 10 + x % 10;
x = (int) x / 10;
}
return x == j || x == (int)j / 10;
}
}