Java大于6的偶数:哥德巴赫猜想

验证哥德巴赫猜想:任何一个大于6的偶数,都能分解成两个质数的和。要求输入一个整数,输出这个数 能被分解成哪两个质数的和。

eg : 14
14=3+11
14=7+7

import java.util.Scanner;
// 验证哥德巴赫猜想:
// 任何一个大于6的偶数,都能分解成两个质数的和。
// 要求输入一个整数,输出这个数 能被分解成哪两个质数的和。

//步骤1:找出该整数的所有的素数。
//步骤2:判断i和num-i是不是都是质数。
//步骤3:输出和。
public class HW_02_22 {
    public static void main(String[] args){
        Scanner input=new Scanner(System.in);
        System.out.println("请输入一个大于6的偶数:");
        int num=input.nextInt();
        for(int i=1;i<=num/2;i++){//除2,是因为3=1+2,3=2+1. 只需找到num/2之前的质数就可以。
            if(isPrime(i)&&isPrime(num-i)){//判断 i和 (num-i)是不是质数
                System.out.println(num+":"+i+"+"+(num-i));
            }
        }
    }
    //判断是不是质数
    public static boolean isPrime(int num){
        for(int i=2;i<num; i++){
            if(num%i==0)//取余没余数,为素数
                return false;
        }
        return true;
    }
}
//答案
请输入一个大于6的偶数:
14
14:1+13
14:3+11
14:7+7

猜你喜欢

转载自blog.csdn.net/m0_45196258/article/details/107528385
今日推荐