素数
Description
质数又称素数,是指一个大于1 的自然数,除了1和此整数自身外,不能被其他自然数整除的数。对于一个给定的十进制整数,如果这个数是素数且它逆置后的整数也为素数,那么输出“True”,否则输出“False”
Input
输入包含多组测试数据。
每组数据只有一行为 1 个整数 n( |n| < 10000)。
输入 0 代表输入的结束,该组数据不做处理。
Output
对于每组测试数据,按照题目描述输出对应的结果。
Sample
Input
13 41 1 -3 0
Output
True False False False
Hint
注意题目数据范围及素数的定义。
此题是一个暴力题;
代码(java):
import java.util.*;
//Full of love and hope for life
//https://paste.ubuntu.com/
//https://www.cnblogs.com/zzrturist/
//bokeyuan
//https://blog.youkuaiyun.com/qq_44134712
//csdn
public class Main {
public static void main(String[] args) {
try (Scanner in = new Scanner(System.in)) {
int i,j;
int a[]=new int[10010];
int b[]=new int[10];
a[1]=0;
for(i=2;i<=10000;i++) {
for(j=2;j<=i;j++) {
if(i%j==0) {
break;
}
}
if(j==i) {
a[i]=1;
}
else {
a[i]=0;
}
}
while(in.hasNextInt()) {
int x=in.nextInt();
if(x==0) {
break;
}
if(x<0) {
System.out.println("False");
continue;
}
int m;
m=x;
int n=0,t,g=0;
while(m>0) {
t=m%10;
m=m/10;
b[++g]=t;
}
int k=g;
for(i=1;i<=g;i++) {
k--;
n+=b[i]*Math.pow(10,k);
}
if(a[x]==1&&a[n]==1) {
System.out.println("True");
}
else {
System.out.println("False");
}
}
}
}
}