java验证数字区间内哥德巴赫猜想是否成立

理论依据:欧拉的推理——每一个大偶数(大于4的偶数)都可以拆成两个质数。

计算结果:大于5小于1000000000的整数区间哥德巴赫猜想成立。

其他区间就没有算了,这个区间都算了很久很久。

//理论依据:欧拉的推理:证明:每一个大偶数(大于4的偶数)都可以拆成两个质数。
//把1100000000内的素数存放到集合中
		 boolean flag; 
		 int m=1100000000; 
		 List<Integer> list=new ArrayList<Integer>();
		 for(int i=2;i<m;i++){ 
			 flag=false; 
			 for(int j=2;j<=Math.sqrt(i);j++){ 
				 if(i%j==0){ 
					 flag=true; 
					 break; 
					 } 
				 } 
			 if(flag==false){ 
				 list.add(i);
				 } 
			 }
		//利用上面的素数集合进行校验
		 int index=0;//记录小于校验偶数的最大素数存放于素数集合的下标
		 boolean juge=false;
		 for(int a=6;a<1000000000;a+=2) {//a<校验的偶数
			 for(int b=1;list.get(b)<a;b++) {
					 index=b;
			 }
			 for(int c=1;c<index+1;c++) {
				 for(int d=1;d<index+1;d++) {
					 if(list.get(c)+list.get(d)==a) {
						 juge=true;
					 }
				 }
			 }
			 
			 if(juge==false) {
				 System.out.println("哥德巴赫猜想不成立");
			 }else {
				 juge=false;
			 }
			 
		 }
		 System.out.println("大于5小于1000000000的整数区间哥德巴赫猜想成立");
	

 

猜你喜欢

转载自blog.csdn.net/ldkjsdty/article/details/85685239
今日推荐