Codice PHP:
public class Esercizio1 {
//metodo statico che restituisce intero di nome elabora
//a e b sono due parametri formali di metodo con a array di boolean e b array di interi
static int elabora(boolean[] a, int[] b) {
int ris = 0;
//for per scorrere gli elementi di a a partire dal terzo elemento
for (int i = 2; i < a.length; i++)
//se a[i] è vero
if (a[i])
//for per scorrere gli elementi di b partendo dall'i-esimo elemento +2
for (int j = i+2; j < b.length; j++)
//se b[j] diviso b[i] non dà resto
if (b[j]%b[i]==0)
//setto il j-esimo elemento di a falso
a[j]=false;
//for per scorrere gli elementi di a a partire dal secondo elemento
for (int i = 1; i < a.length; i++)
//se a[i] è vero incremento la variabile ris
if (a[i]) ris++;
//restituisco l'intero ris
return ris;
}
public static void main(String[] args) {
//definisco l'array di booleani x
boolean[] x = {true,true,true,true,true,true,true,true,true,true,true};
//istanzio l'array degli interi
int[] y = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10};
//richiamo il metodo salvando il risultato in una variabile z
int z = elabora(x, y);
//stampo z
System.out.println(z);
}
}