孪生素数:若两个素数之差为2,则这两个素数就是孪生素数。
编程找出1-100之间的所有孪生素数。
首先要知道1-100以内有哪些素数,然后对这些素数求差,这里我们将素数从小到大存放在数组中,最后遍历数组求差即可。
package _4InterestingPrime;
public class _4_2 {
public static void main(String[] args) {
int count=0;
int[] a=new int[100];
boolean flag;
for(int i=2;i<100;i++){
flag=true;//注意每一轮初始flag都为true,声明时不要赋值,否则上一轮循环的flag值对新一轮的值有影响
//判断是否是素数
for(int j=2;j<i/2;j++){
if(i%j==0){
flag=false;
break;
}
}
//如果是素数就把素数存在数组里
if(flag==true){
a[count]=i;
count++;
}
}
//判断相邻素数之差是否为2,是就打印显示
for(int i=0;i<count-1;i++){
if(a[i+1]-a[i]==2){
System.out.println(a[i]+" "+a[i+1]);
}
}
}
}
结果: