一直觉得昨天少了点什么,原来是忘了放题了....
今天继续是一道经典数学题
验证哥德巴赫猜想:任何一个大于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;
}
}
今天就到这里了,继续做题去。
明天继续放题,明天继续放题,明天继续放题!!!
重要的事情,提醒自己三遍!
如有疑问,敬请提出。
加油!