哥德巴赫猜想

一直觉得昨天少了点什么,原来是忘了放题了....

今天继续是一道经典数学题

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

eg : 14

14=3+11

14=7+7

package classwork1_11;
//导包 扫描仪
import java.util.Scanner;
/**
 * 
 * @author Administrator
 * 2018年5月21日19:44:43
 * 哥德巴赫猜想
 */
public class Work4 {
	//程序的入口
	public static void main(String[] args) {
		//用户输入一个数
		System.out.println("请输入一个数");
		//导入扫描仪
		Scanner sca=new Scanner(System.in);
		//int 类型接收输入数字
		int n=sca.nextInt();
		//判断输入数字是否满足为大于6的偶数,如果是,则继续执行
		if(n%2==0&&n>6) {
			//循环定义两个变量使两个变量的和为输入的数
			for(int a=2;a<=n/2;a++) {
				int b=n-a;
				//调用质数函数判断两个变量是否均为质数,如果是则输出两个变量值
				if(primeNum(a)==a&&primeNum(b)==b) {
					System.out.println(n+"="+a+"+"+b);
				}
			}
		}
		else System.out.println("输入有误");
	}
	//定义一个判断接收参数是否为质数的函数
	public static int primeNum(int a) {
		//定义一个小于参数a的变量b,循环判断b是否是a的因子
		for(int b=2;b<a;b++) {
			//如果b是a的因子,则a不是质数,返回0
			if(a%b==0) {
				return 0;
			}
		}
		//如果不是,则a为质数,返回a
		return a;
	} 
}

今天就到这里了,继续做题去。

明天继续放题,明天继续放题,明天继续放题!!!

重要的事情,提醒自己三遍!

如有疑问,敬请提出。

加油!

猜你喜欢

转载自blog.csdn.net/coco8023lee/article/details/80529656