import java.util.*;
//小小兴趣。。。见笑了。。。
//哥德巴赫猜想,任何一个大于5的奇数可表示为3个素数之和
public class Goldbach_Conjecture {
public static void main(String[] args){
int n;
//不考虑程序的健壮性,这里默认输入为比5大的奇数
Scanner s=new Scanner(System.in);
n=s.nextInt();
int[] arr=getRes(n);
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr.length;j++){
for(int k=0;k<arr.length;k++){
if(arr[i]+arr[j]+arr[k]==n)
System.out.println(n+"="+arr[i]+"+"+arr[j]+"+"+arr[k]);
}
}
}
}
//写出一个返回list的函数,利用list的可变长度,用来保存比输入的数小的所有素数的list集合
public static int[] getRes(int n){
ArrayList<Integer> l=new ArrayList<>();
l.add(1);
for(int i=1;i<n;i++){
int count=0;
for(int j=1;j<n-1;j++){
if(i%j==0){
count++;
}
}
if(count==2){
l.add(i);
}
}
int arr[]=new int[l.size()];
for(int i=0;i<l.size();i++){
arr[i]=l.get(i);
}
return arr;
}
}
验证任意大于5的奇数可表示为3个素数之和(哥德巴赫猜想其一)java实现
最新推荐文章于 2022-07-23 15:43:42 发布