歌德巴赫猜想
来源:互联网 发布:天谕男性捏脸数据 编辑:程序博客网 时间:2024/05/02 02:42
验证歌德巴赫猜想 java代码
package cl;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class GoldBach {
public static boolean[] isPrime =null;
//求n内的所有素数
public static void prime(int n){
isPrime = new boolean[n+1];
for(int i=2;i<=n;i++){
isPrime[i]=true;
}
for(int i=2;i<=n;i++){
if(isPrime[i]){
for(int j=2;j*i<=n;j++){
isPrime[i*j]=false;
}
}
}
}
//验证偶数N是否可以被分解成两个素数相加
public static boolean canadd(int n){
for(int i=2;i<=n/2;i++){
if(isPrime[n-i])
return true;
}
return false;
}
//写入文件
public static void writeFile(int[] num,long[] time,String addir)
throws IOException{
File f = new File(addir);
FileWriter w = new FileWriter(f,true);
w.write("num time");
for(int i=0;i<num.length;i++){
w.write("\n");
w.write(num[i]+" "+time[i]);
}
w.close();
}
//求证数组中的数可以符合哥德巴赫猜想
public static void main(String[] args) throws IOException{
int[] num = new int[]{200,400,600,800};
long[] time = new long[num.length];
long startTime = System.nanoTime();
//获取小于数n的质数
prime(num[num.length-1]);
int index=0;
for(int i=4;i<=num[num.length-1];i+=2){
if(!canadd(i)){
System.out.println(i+" can't split");
}
if(i==num[index]){
time[index++]=System.nanoTime()-startTime;
}
}
//将对应时间写入文件
writeFile(num,time,"test.csv");
//控制台输出
/*for(int i=0;i<num.length;i++){
System.out.println(num[i]+" "+time[i]);
}*/
}
}
- 练习 歌德巴赫猜想
- 歌德巴赫猜想
- 歌德巴赫猜想
- 歌德巴赫猜想
- 验证歌德巴赫猜想
- 验证歌德巴赫猜想
- 歌德巴赫猜想
- 验证歌德巴赫猜想
- 二重歌德巴赫猜想
- java歌德巴赫猜想
- 歌德巴赫猜想程序验证
- 歌德巴赫猜想的算法
- 随机函数 歌德巴赫猜想
- 歌德巴赫猜想的证明
- 歌德巴赫猜想的证明
- 【HUSTOJ】1099: 歌德巴赫猜想
- hihoCoder #1493 : 歌德巴赫猜想
- 练习:验证歌德巴赫猜想
- 织梦dedecms 使用SQL删除指定栏目全部文章
- 最简单的使用 NDK 的程序
- 2016.09.09
- Android Popwindow的使用(从屏幕下方往上弹起,背景变暗)
- json对象和字符串
- 歌德巴赫猜想
- netty4&5之学习之路_2
- Html页面传参获取代码
- 微博同步错误追溯根源
- torch7 error
- 网络延迟和往返时延
- storm配置:如何解决worker进程内存过小的问题
- 一个生产者一个消费者一个缓冲器
- 在jsp调试后端绑定对象