In un libro che si occupa di riquadri latini ortogonali tra loro ortogonali, c'è un esempio di implementazione di un generatore. La parte del codice è la seguente:
for (int k = 1; k <= numberOfLevels; k++) {
for (int i = 1; i <= size; i++) {
for (int j = 1; j <= size; j++) {
squareArray[k - 1][i - 1,j - 1] = ( k * (i - 1) + (j - 1) ) % size;
}
}
}
Mi chiedo, perché i=1 e j=1 e quindi sottraendo 1 ? Per k capisco che è utilizzato per la moltiplicazione.