验证任意大于5的奇数可表示为3个素数之和(哥德巴赫猜想其一)java实现

来源:互联网 发布:淘宝app开店 编辑:程序博客网 时间:2024/06/05 02:00
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;}}

阅读全文
0 0
原创粉丝点击