验证哥德巴赫猜想

哥德巴赫猜想:
任何一个大于 6 的偶数,都能分解成两个质数的和。要求输入一个整数,输出
这个数能被分解成哪两个质数的和。
例如:输入一个整数 14
输出结果:14=3+11
14=7+7

解题思路:
我们可以通过键盘输入一个值,用整型变量n保存,然后验证n这个整数满不满足哥德巴赫想
然后写一个函数,接收一个整数,验证这个数是不是质数,是返回true,否返回false
然后通过for循环,把从2到n的值遍历一下,只要在z到n之间,有两个数满足相加等于n,并且这两个数都是质数,就验证了哥德巴赫猜想
具体实现代码:

public static void main(String[] args) {
		//通过键盘获取一个数
		Scanner sc = new Scanner(System.in);
		System.out.print("请输入一个大于6的偶数");
		int n = sc.nextInt();
		//如果输入的值不是大于6的偶数,终止程序
		if(n % 2 !=0 || n <= 6){
			System.out.println("输入的值不满足条件");
			return;
		}
		//for循环,把从2到n的值遍历出来
		for(int a = 2; a < n;a++){
			//判断a是不是质数
			if(!prime(a)){
			//保证a+b的和为n
			int b = n - a;
			//判断b是不是质数;并且把重复的项去掉
			if(!prime(b) && a <=b){
				//满足全部条件,打印到控制台
				System.out.println(n +"="+a+" "+b);
			}
			}
		}
	}
	//判断这个数是不是质数
	public static boolean prime(int n){
		boolean flag=false;
		for(int j=2;j<= Math.sqrt(n);j++){
			if(n%j == 0){
			flag=true;
			}
		}
		return flag;
	}
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值