(1~100)范围内证明哥德巴赫猜想
2013-08-04 13:13
267 查看
哥德巴赫猜想:任何一个大于2的偶数都能表示称为两个素数之和。
一个数m可以表示为:m=1+(m-1),m=2+(m-2),m=3+(m-3),.......m=(m/2)+(m/2),m/2后面会开始重复前面的。
程序见下:
一个数m可以表示为:m=1+(m-1),m=2+(m-2),m=3+(m-3),.......m=(m/2)+(m/2),m/2后面会开始重复前面的。
程序见下:
public class Guess { /** * Testify_Guess(int low, int high)在low~high范围内判断哥德巴赫猜想的正确性。 * */ public static boolean Testify_Guess(int low, int high){ boolean biaozhi=true; for(int i=low;i<high;i++){ if(i%2==0&&i>2){ if(!isGedebahe(i)){ biaozhi=false; break; } } } return biaozhi; } /** * isGedebahe(int a)判断a是否能写成两个素数之和 * */ public static boolean isGedebahe(int a){ boolean flag=false; for(int i=1;i<a/2;i++){ if(isPrime(i)&&isPrime(a-i)){ flag=true; System.out.println("a="+i+"+"+(a-i)); break; } } return flag; } /** * isPrime(int num)判断素数 * */ public static boolean isPrime(int num){ boolean flag=true; if(num==1){ //1是素数。 flag=true; } else{ for(int i=2;i<num;i++){ if(num%i==0){ flag=false; break; } } } return flag; } public static void main(String[] args) { System.out.println("现在在1~100范围内,来证明哥德巴赫猜想:"); if(Testify_Guess(1,100)){ System.out.println("哥德巴赫猜想是正确的!"); } else{ System.out.println("哥德巴赫猜想是错误的!"); } } }
相关文章推荐
- 小王对既是素数又是回文的数特别感兴趣。比如说151既是素数又是个回文。现在小王想要你帮助他找出某个范围内的素数回文数,请你写个程序找出 a 跟b 之间满足条件的数。(5 <= a < b <= 100
- 用java语言编写一个可以求20个范围在1-100之间随机整数和的程序。
- 生成一组指定范围内随机数(取50个数字,100到200的随机数字)
- 近似证明哥德巴赫猜想
- Java 求1-100范围内的素数
- 生成一组指定范围内随机数(取50个数字,100到200的随机数字) LINQ方法
- 找出数组中缺失的两个数(数组长度为98,数值范围1-100,数值无重复)
- C语言猜数字游戏,范围为1到100,直到猜对为止,能重复进行多次
- 随机生成大小为100的范围是100-1000的不重复的数组
- C++练习之 证明哥德巴赫猜想
- 数组中的数分为两组,让给出一个算法,使得两个组的和的差的绝对值最小,数组中的数的取值范围是0<x<100,元素个数也是大于0, 小于100 。
- EditText限制输入内容为1-100范围内的数字
- html 中 input 控制输入百分比数值范围(0.0-100)
- 证明哥德巴赫猜想
- (水仙花数问题)假设100 - 1000这个范围内求出个位的立方 + 十位的立方 + 百位的立方 == 数字本身 假设 123 == 1^3 + 2^3 + 3^3;
- 数组中的数分为两组,让给出一个算法,使得两个组的和的差的绝对值最小,数组中的数的取值范围是0<x<100,元素个数也是大于0, 小于100 。
- php在范围中取值并使和为100
- 查找与排序:利用基数排序对0~100范围内数据实现排序
- 取固定范围里的几个数,总和为100
- 1~5122这个范围内的整数一共有多少个零,例如100就是2个零。