如果一个整数是质数,而且它的首位和未位也都是质数,刚称之为“首尾质数”。现在请你在N个整数中统计出“首尾质数”的总个数。
输入:N(N<=1000)
下接N个整数(每个整数<=10000,以空格相隔)
输出:“首尾质数”的总个数
样例:输入:3
37 2 4
输出:2
输入:N(N<=1000)
下接N个整数(每个整数<=10000,以空格相隔)
输出:“首尾质数”的总个数
样例:输入:3
37 2 4
输出:2
import java.util.Scanner;
//如果一个整数是质数,而且它的首位和未位也都是质数,刚称之为“首尾质数”。
//现在请你在N个整数中统计出“首尾质数”的总个数。class SWZS{
Scanner scan=null;
int a[]=null;
public void input(){
scan=new Scanner(System.in);
System.out.println("请输入要输入的整数的个数");
int total=scan.nextInt();
a=new int[total];
System.out.println("请输入这些整数值……");
for(int i=0;i<total;i++){
a[i]=scan.nextInt();
}
System.out.println("您输入的整数如下…………");
for(int j=0;j<total;j++){
System.out.print(a[j]+" ");
}
System.out.println("");
System.out.println("查找后的结果如下…………");
output();
}
public void output(){
for(int k=0;k<a.length;k++){
boolean flag=true;
for(int i=2;i<=a[k]/2;i++){
if(a[k]%i==0){
flag=false;
break;
}
}
if(flag){
String s0=Integer.toString(a[k]);
int x1=Integer.parseInt(s0.substring(0,1));
int x2=Integer.parseInt(s0.substring(s0.length()-1,s0.length()));
if((x1==2 || x1==3 || x1==5 || x1==7) &&(x2==2 || x2==3 || x2==5 || x2==7)){
System.out.println(a[k]+"是首尾质数!");
}
}
}
}
}
public class LunTan_01 {
public static void main(String[] args) {
SWZS swzs=new SWZS();
swzs.input();
}
}
运行结果如下:
请输入要输入的整数的个数
5
请输入这些整数值……
4 13 6 23 9
您输入的整数如下…………
4 13 6 23 9
import java.util.Scanner;public class T {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("输入:");
int n = input.nextInt();
if(n <= 0) {
System.out.println("请输入一个正整数!");
System.exit(0);
}
int count = 0;//计数器,可以用计数器控制每行输出10个
for(int i=2; i<=n; i++) {
if(i<10) {
if(isPrime(i)) {
System.out.print(i + " ");
count ++;
}
} else {
String str = String.valueOf(i);
int start = str.charAt(0) - '0';
int end = str.charAt(str.length() - 1) - '0';
if(isPrime(i) && isPrime(start) && isPrime(end)) {
System.out.print(i + " ");
count ++;
}
}
}
System.out.println("\n输出:" + count);
}
private static boolean isPrime(int n) {
for(int i=2; i<=(int)Math.sqrt(n); i++) {
if(n % i == 0)
return false;
}
return true;
}}
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int n=in.nextInt();
int i=1;;
String strNum="";
while(i<=n){
strNum+=in.next()+" ";
i++;
}
strNum=strNum.substring(0, strNum.length()-1);
System.out.println(calCount(strNum));
}
public static int calCount(String num){
int count=0;
String sNum[]=num.split(" ");
for(int j=0;j<sNum.length;j++){
if(sNum[j].length()==1){ // 当输入的数是一位数时
if((isSu(Integer.parseInt(sNum[j])))){
count++;
}
}else{
int firstNum=Integer.parseInt(sNum[j].charAt(0)+""); //不是一位数的首位数
int seCondNum=Integer.parseInt(sNum[j].charAt(sNum[j].length()-1)+""); //不是一位数的末尾数
if(isSu(firstNum)&&isSu(seCondNum)){
count++;
}
}
}
return count;
}
public static boolean isSu(int num){ //计算是不是素数
boolean flag=true;
for(int i=2;i<=num/2;i++){
if(num%i==0){
flag=false;
break;
}
}
return flag;
}}