sieve.java
来自「纯java操作系统jnode,安装简单和操作简单的个人使用的Java操作系统」· Java 代码 · 共 51 行
JAVA
51 行
// Eratosthenes Sieve prime number benchmark in Java
package org.jnode.test;
public class Sieve {
static String results1, results2;
public static void main(String[] args) {
System.out.println("Running Sieve benchmark.");
System.out.println("This will take about 10 seconds.");
runSieve();
System.out.println(results1);
System.out.println(results2);
}
static void runSieve() {
int SIZE = 8190;
boolean flags[] = new boolean[SIZE+1];
int i, prime, k, count;
int iterations = 0;
double seconds = 0.0;
int score = 0;
long startTime, elapsedTime;
startTime = System.currentTimeMillis();
while (true) {
count=0;
for(i=0; i<=SIZE; i++) flags[i]=true;
for (i=0; i<=SIZE; i++) {
if(flags[i]) {
prime=i+i+3;
for(k=i+prime; k<=SIZE; k+=prime)
flags[k]=false;
count++;
}
}
iterations++;
elapsedTime = System.currentTimeMillis() - startTime;
if (elapsedTime >= 10000) break;
}
seconds = elapsedTime / 1000.0;
score = (int) Math.round(iterations / seconds);
results1 = iterations + " iterations in " + seconds + " seconds";
if (count != 1899)
results2 = "Error: count <> 1899";
else
results2 = "Sieve score = " + score;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?