Ho il seguente codice java che trova i numeri primi, ma non riesco proprio a capirlo. Chi di buona volontà me lo spiega?
Grazie.
-----
static void NumPrimi0(int n)
{
int cnt = 0;
int[]np=new int[n*n+1];
for(int i = 0; i <= n * n; i++)
np[i] = i;
for(int i=2;i<=n;i++)
{
if (np[i] != 0)
{
for(int j = 2 * i; j <= n * n; j = j + i)
np[j] = 0;
}
}
for(int i = 2; i <= n * n; i++)
{
if (np[i] != 0) {
System.out.printf("%10d", i);
if (++cnt >= 10) {
System.out.println();
cnt = 0;
}
}
}
}

Rispondi quotando

