素数与哥德巴赫猜想

package xuan.demo;
/**
 * @author xuan 素数
 */
public class 素数 {
	public static void main(String[] args) {
//		printNums(1000);//传入打印范围
//		System.out.println(whether(997));//传入判断数字
		printResult(8);
	}
	/**
	 * 打印素数
	 */
	public static void printNums(int count) {
		int i = 2, j;
		for (; i < count; i++) {
			for (j = 2; j < i; j++) {
				if (i % j == 0) {
					break;
				}
			}
			if (i == j) {
				System.out.print(i + "	");
			}
		}
	}

	/**
	 * 判断是否为素数
	 */
	public static boolean whether(int num) {
		int j;//此变量保存2到判断数字的枚举
		boolean isok = false;
		for (j = 2; j < num; j++) {
			//num不能整除j进入下次循环
			if (num % j == 0) {
				break;
			}
		}
		if (num == j) {
			isok = true;
		}
		return isok;
	}
	/**
	 * 哥德巴赫猜想:分解
	 */
	public static void printResult(int num){
		boolean isok = true;
		if (num%2==0) {
			int number = 0;
			for (int i = 0; i < num; i++) {
				for (int j = 0; j < num; j++) {
					number=i+j;
					if (number==num) {
						if (whether(i)&&whether(j)) {//如果两个都是素数
							isok = false;
							System.out.println("素数和:"+num+"="+i+"+"+j);
						}else{
							System.out.println("非素数和:"+num+"="+i+"+"+j);
						}
					}
				}
			}
			if (isok) {
				System.out.println("恭喜你,凌驾于爱因斯坦,霍金等朱多牛逼人士之上,快去美国领100万美元吧!");
			}else{
				System.out.println("亲,您未能成功挑战哥德巴赫猜想~~~~~~");
			}
		}else{
			System.out.println("输入的为奇数!");
		}
	}
}



你可能感兴趣的:(算法)