哥德巴赫猜想输出符合规则的偶数分解的两个质数

简介: 解题图:https://www.processon.com/view/link/5b01287de4b06a40445ecd00  package _2018年5月19日_19点02;import java.

解题图:

https://www.processon.com/view/link/5b01287de4b06a40445ecd00

 

 


package
_2018年5月19日_19点02; import java.util.Scanner; /** * 2018年5月18日 22:10:03 * * @author SeeClanUkyo * * 哥德巴赫猜想,输入一个大于6的偶数,能被分解为两个质数之和. 本程序再优化入手点应该从第一个for循环没有用到开始 */ public class Goldbach { public static void main(String[] args) { System.out.println("请输入大于6的偶数,此偶数将试着分解为两个质数之和."); Scanner in = new Scanner(System.in); int number = in.nextInt(); int halfNum = number / 2; if (number > 6 && number % 2 == 0) { // 输入数值符合条件进入该内容 // 闯哥的递增递减for循环 for (int i = halfNum; i < number; i++) { // m的值为总数-差值,即i+m=number //14为例,看i, m的值: //7 7 //8 6 //9 5 //10 4 //11 3 //12 2 int m = number - i; // if (i != 1 && m != 1) { if (check(i) && check(m)) { System.out.println(i + "+" + m + "=" + number); } } } } else { System.out.println("请输入大于6的偶数!"); } } // 如果传入数值n是质数,则返回true public static boolean check(int n) { boolean b = false; int count = 0; for (int i = 2; i <= Math.sqrt(n); i++) { // 如果下面if等于,则说明这个数不是质数,count进行++.之后break if (n % i == 0) { count++; break; } } //for循环结束,count如果为1,则判定为质数了. if(count == 0) { b = true; } return b; } }

感谢闯哥指点!

 

将编程看作是一门艺术,而不单单是个技术。 敲打的英文字符是我的黑白琴键, 思维图纸画出的是我编写的五线谱。 当美妙的华章响起,现实通往二进制的大门即将被打开。
相关文章
|
6月前
判断 101 到 200 之间的素数
判断 101 到 200 之间的素数。
44 0
|
6月前
|
Python
如何判断一个数是质数? 要求:编写一个Python函数,输入一个整数,输出该整数是否为质数。质数是指大于1的自然数中,除了1和它本身以外不再有其他因数的数。
如何判断一个数是质数? 要求:编写一个Python函数,输入一个整数,输出该整数是否为质数。质数是指大于1的自然数中,除了1和它本身以外不再有其他因数的数。
359 1
|
2月前
判断101到 200之间的素数
判断101到 200之间的素数。
42 9
|
5月前
循环迭代判断\找质数——以每行8个的形式输出100-999内的质数
循环迭代判断\找质数——以每行8个的形式输出100-999内的质数
58 5
|
6月前
40.验证哥德巴赫猜想:一个大于2的偶数总可以分解成两个素数的和
40.验证哥德巴赫猜想:一个大于2的偶数总可以分解成两个素数的和
73 5
|
6月前
判断101到200之间的素数
判断 101 到 200 之间的素数。
37 1
|
6月前
PTA-求奇数分之一序列前N项和
求奇数分之一序列前N项和
92 0
|
Python
Python 分解质因数(编写函数实现:输入一个正整数n,把数字n分解成不能再分解因子的乘法,比如:8=2*2*2, 10 = 2*5,而不是 8 = 2 * 4 这种可以再分解的。)
Python 分解质因数(编写函数实现:输入一个正整数n,把数字n分解成不能再分解因子的乘法,比如:8=2*2*2, 10 = 2*5,而不是 8 = 2 * 4 这种可以再分解的。)
920 0
判断10-105之间有多少个素数,并输出所有素数。【素数又称为质数,定义为在大于1的 自然数中,除了1和它本身以外不再有其他因数的数
判断10-105之间有多少个素数,并输出所有素数。【素数又称为质数,定义为在大于1的 自然数中,除了1和它本身以外不再有其他因数的数
103 0
编写判断一个正整数是否为素数的函数
编写判断一个正整数是否为素数的函数