首页 > 代码库 > 哥德巴赫猜想证明
哥德巴赫猜想证明
public class Guess { public static boolean isPrime(int i) { // 推断參数i是否是素数,是则返回true反之则返回false int n; boolean flag = true; if (1 == i) // 1本身不是素数,因此需把这个特殊的数字抛出 flag = false; for (n = 2; n <= i - 1; n++) /* 推断i是否是素数的一个方法是看2~i-1之间有其因子(能被2整除),有则不是素数返回false。反之则返回true*/
if (i % n == 0) { flag = false; break; } return flag; } public static boolean isGoldbach(int a) { // 推断參数a是否符合哥德巴赫猜想 int i; boolean flag = false; for (i = 1; i <= a / 2; i++) { if (isPrime(i) && isPrime(a - i)) { // 依据试题分析中的表达式,传入相关的两个參数 flag = true;// System.out.print(a
+ "=" + i + "+" + (a - i) + " "); System.out.printf("%3d=%3d+%3d ",a,i,(a - i)); break; // 仅仅要有一个符合条件的就能够退出循环,推断下一个偶数 } } return flag; } public static boolean Testify_Guess(int low, int high) { // 推断1~100范围内的全部偶数是否符合哥德巴赫猜想,符合则返回true。反之则返回false int i, j = 0;
boolean flag = true; for (i = low; i <= high; i++) if (i % 2 == 0 && i > 2) // 在1~200之间选取大于2的偶数进行猜想測试 if (isGoldbach(i)) { j++; // j用来控制输出格式 。每行输出5个数据 if (j == 10) { System.out.println(); j = 0; } } else { flag = false; break; } return flag; } public static
void main(String[] args) { System.out.println("\n在1~200范围内,如今開始证实哥德巴赫猜想:"); if (Testify_Guess(1, 2000000000)) { System.out.println("\n在 1~200范围内,哥德巴赫猜想是正确的。
"); } else { System.out.println("\n哥德巴赫猜想是错误的"); } } }
哥德巴赫猜想证明
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。