当前位置:首页 > JAVA教程 >

一个偶数总能表示为两个素数之和

发布时间:2024-02-05 09:25:05 作者:佚名 阅读:(0)

今天云梦编程为大家分享一个经典案例,这个就是哥德巴赫猜想(Goldbach's Conjecture):一个偶数总能表示为两个素数之和,有需要的小伙伴可以参考一下

1、题目:

一个偶数总能表示为两个素数之和,输入一个偶数,求这两个素数。

2、程序分析:

public static void main(String[] args) {
	Scanner sc = new Scanner(System.in);
	int num;
	do {
		System.out.print("请输入一个大于等于6的偶数:");
		num = sc.nextInt();
	} while (num < 6 || num % 2 != 0); // 判断输入是否是>=6偶数,不是,重新输入
	for (int i = 3; i <= num / 2; i += 2) {
		if (fun(i) && fun(num - i)) {
			System.out.println(num + " = " + i + " + " + (num - i)); // 输出所有可能的素数对
		}
	}
}

private static boolean fun(int num) {
	if (num == 3) {
		return true;
	}
	boolean flag = false;
	for (int i = 2; i <= Math.sqrt(num); i++) {
		if (num % i == 0) {
			flag = false;
			break;
		}
		flag = true;
	}
	return flag;
}

以上就是五爱编程为大家介绍的关于一个偶数总能表示为两个素数之和的java写法,了解更多相关文章请关注云梦编程网!

© 2023 - 云梦编程网 版权所有 鲁ICP备2021017318号-4