// Decompiled by JEB v0.9.0 alpha
public static int[] eratosthenes(int arg12) {
int v8 = 0;
boolean[] v0 = new boolean[arg12 + 1];
v0[0] = true;
v0[1] = true;
int v7 = ((int)Math.sqrt(((double)arg12)));
int v3 = 2;
while(v3 <= v7) {
if(v0[v3] == false) {
int v4 = v3 * v3;
while(v4 <= arg12) {
v0[v4] = true;
v4 += v3;
}
}
++v3;
}
int v2 = 0;
int v9 = v0.length;
while(v8 < v9) {
if(v0[v8] == false) {
++v2;
}
++v8;
}
v4 = 0;
int[] v6 = new int[v2];
v3 = 0;
while(v3 < v0.length) {
if(v0[v3] == false) {
v6[v4] = v3;
++v4;
}
++v3;
}
return v6;
}
|
// Decompiled by JD-GUI v0.3.5
public static int[] eratosthenes(int paramInt)
{
int i = 0;
boolean[] arrayOfBoolean = new boolean[paramInt + 1];
arrayOfBoolean[0] = true;
arrayOfBoolean[1] = true;
int j = (int)Math.sqrt(paramInt);
int k = 2;
int n;
label39: int i2;
int[] arrayOfInt;
if (k > j)
{
n = 0;
int i1 = arrayOfBoolean.length;
if (i < i1)
break label108;
i2 = 0;
arrayOfInt = new int[n];
}
for (int i3 = 0; ; i3++)
{
if (i3 >= arrayOfBoolean.length)
{
return arrayOfInt;
int m;
if (arrayOfBoolean[k] == 0)
m = k * k;
while (true)
{
if (m > paramInt)
{
k++;
break;
}
arrayOfBoolean[m] = true;
m += k;
}
label108: if (arrayOfBoolean[i] == 0)
n++;
i++;
break label39;
}
if (arrayOfBoolean[i3] == 0)
{
int i4 = i2 + 1;
arrayOfInt[i2] = i3;
i2 = i4;
}
}
} |