用 Java 验证8-10000内的所有偶数符合哥德巴赫猜想
来源:互联网 发布:设计数据库的软件 编辑:程序博客网 时间:2024/06/14 08:04
Java 验证8-10000内的所有偶数符合哥德巴赫猜想
首先让我们先来了解一下什么是哥德巴赫猜想:
在1742年6月7日给欧拉的信中,哥德巴赫提出了以下猜想:a) 任一不小于6之偶数,都可以表示成两个奇质数之和;b) 任一不小于9之奇数,都可以表示成三个奇质数之和。欧拉在回信中也提出另一等价版本,即任一大于2的偶数都可写成两个质数之和。现在通常把这两个命题统称为哥德巴赫猜想。把命题"任何一个大偶数都可以表示成为一个素因子个数不超过a个的数与另一个素因子不超过b个的数之和"记作"a+b",哥氏猜想就是要证明"1+1"成立。1966年陈景润证明了"1+2"成立,即"任何一个大偶数都可表示成一个素数与另一个素因子不超过2个的数之和"。(摘自搜狗 百科)这里我们简化一下,只是证明8-10000以内的所有偶数都可以拆分为两个素数的和。先明确一下素数的概念。素数:质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数。思路: 1,利用循环获得8-10000中的所有偶数。
2,对每个符合条件的偶数进行判断,如果存在任意一组素数相加满足条件,则这个偶数符合猜想。3,得到结果。在Java中有isprime() 方法,可以很方便的判断一个奇数是否是素数。在chaijishu(); 中num1的初始值从3 开始是为了避免1和2 两个数(我也有点无法解释)package com.xidedu.test;
public class Test {
//将一个偶数拆分为两个奇数,并判断两个奇数是否符合要求
public static voidchaijishu(intnum){
int num1 = 0;
int num2 = 0;
for(num1 = 3;num1<num/2;num1=num1+2){
num2 = num - num1;
if(isprime(num1) &&isprime(num2)){
System.out.println("偶数:"+num+"可以拆分为两个素数和"+num1+"+"+num2+"="+num);
break;
}else{
System.out.println("这个偶数不符合猜想。");
}
}
}
//验证是否是素数
private static boolean isprime(intnum1) {
returntrue;
}
public static voidmain(String[] args) {
for(inti = 8;i < 10000;i=i+2){
chaijishu(i); //用一个方法来判断
}
}
}
结果
偶数:4666可以拆分为两个素数和3+4663=4666
偶数:4668可以拆分为两个素数和3+4665=4668
偶数:4670可以拆分为两个素数和3+4667=4670
偶数:4672可以拆分为两个素数和3+4669=4672。。。。。。。偶数:9994可以拆分为两个素数和3+9991=9994
偶数:9996可以拆分为两个素数和3+9993=9996
偶数:9998可以拆分为两个素数和3+9995=9998可能是范围比较大,我的控制台只显示了4666开始的数,清一色的3.。。。。。。有兴趣的可以自己试试,欢迎指出错误。
- 用 Java 验证8-10000内的所有偶数符合哥德巴赫猜想
- java验证1-200内哥德巴赫猜想正确性
- java程序验证哥德巴赫猜想
- 偶数哥德巴赫猜想
- 哥德巴赫猜想(验证2000以内的正偶数能够分解成两个素数之和)
- Algorithm JAVA写算法 验证哥德巴赫猜想
- 初步验证哥德巴赫猜想(即:任意一个大于4的偶数,可以分解成2个质数之和*10000以内)
- 代码笔记 | 哥德巴赫猜想的计算机验证
- java关于函数的趣闻题:角谷猜想,求亲密数,验证哥德巴赫猜想
- 求用c语言验证哥德巴赫猜想
- 用c语言验证哥德巴赫猜想
- 用python多进程验证哥德巴赫猜想
- VC++验证哥德巴赫猜想
- 验证哥德巴赫猜想
- 哥德巴赫猜想初步验证、、、、
- 验证“哥德巴赫猜想”
- 验证 哥德巴赫猜想
- 验证哥德巴赫猜想
- spring boot(五):spring data jpa的使用
- 认识网页
- STORM-消息一致性保证
- Qt 之 QTimeLine Class
- java拦截器,过滤器,监听器的区别和执行顺序
- 用 Java 验证8-10000内的所有偶数符合哥德巴赫猜想
- Gradle项目之Spring.profile.开发.测试.生产环境的配置和切换之一键部署
- 一篇简单的LR录制脚本
- 树状数组浅析
- 深入理解 Android NDK 编译(二)
- gcc 降级的解决方法
- 探讨Android6.0及以上系统APP常驻内存(保活)实现-争宠篇
- dubbo注解开发实战
- ubuntu下安装jdk,hadoop及其配置步骤详解