Java50道经典编程题:(四十四)哥德巴赫猜想 ——素数的判断

1.问题重述

题目:一个偶数总能表示为两个素数之和。

2.解析

可以参考我的博客素数的判断,学会素数的判断,稍作变形即可。

3.解决问题

代码如下:

import java.util.Scanner;

public class demo {
     
	public static void main(String[] args) {
     
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入一个偶数:");
		int num = scanner.nextInt();
		// 此处的次数在偶数数值的一半即可
		for (int i = 2; i < num/2; i++) {
     
			if (idea(i) && idea(num - i)) {
     
				System.out.println(num + " = " + i + " + " + (num - i));
			}
		}
		scanner.close();
	}

	public static boolean idea(int n) {
     
		for (int i = 2; i <= Math.sqrt(n); i++) {
     // 判断素数的方法:用一个数分别去除2到sqrt(这个数)
			if (n % i == 0) {
     // 如果可以整除,则不是素数,返回值为false
				return false;
			} else {
     
			}
		}
		return true;// 循环结束,没有中途返回值,则为素数,返回值为true
	}
}

你可能感兴趣的:(java50道经典编程题,java,素数,哥德巴赫猜想)