// 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 Jad v1.5.8g
public static int[] eratosthenes(int i)
{
int j;
boolean aflag[];
int k;
int l;
j = 0;
aflag = new boolean[i + 1];
aflag[0] = true;
aflag[1] = true;
k = (int)Math.sqrt(i);
l = 2;
_L7:
if(l <= k) goto _L2; else goto _L1
_L1:
int j1;
int k1;
j1 = 0;
k1 = aflag.length;
_L9:
if(j < k1) goto _L4; else goto _L3
_L3:
int l1;
int ai[];
int i2;
l1 = 0;
ai = new int[j1];
i2 = 0;
_L10:
if(i2 >= aflag.length)
return ai;
break MISSING_BLOCK_LABEL_123;
_L2:
if(aflag[l]) goto _L6; else goto _L5
_L5:
int i1 = l * l;
_L8:
if(i1 <= i)
break MISSING_BLOCK_LABEL_93;
_L6:
l++;
goto _L7
aflag[i1] = true;
i1 += l;
goto _L8
_L4:
if(!aflag[j])
j1++;
j++;
goto _L9
if(!aflag[i2])
{
int j2 = l1 + 1;
ai[l1] = i2;
l1 = j2;
}
i2++;
goto _L10
}
|