[C] Tavola dei quadrati.

StellaMartensitica
Salve,
qualcuno può aiutarmi a capire come funziona questo esempio di programma:

int main(void)
{
    int i, n, odd, square;

    printf("This program prints a table of squares.\n");
    printf("Enter number of entries in table:\t");
    scanf("%d",&n);
    i=1;
    odd=3;
    for(square=1; i<=n; odd+=2){

    printf("%10d%10d\n",i,square);
    ++i;
    square+=odd;
    };

    exit(0);

}

Da quello che ho capito stampa una tavola dei quadrati. Non ho però capito come faccia dato che non c'è la moltiplicazione.

Risposte
axpgn
Hai presente "quanto fa" la somma dei primi $n$ numeri dispari ?
Non l'ho letto ma penso sia quello il metodo …

Cordialmente, Alex

vict85
Prova a ragionare a quanto fa \(n^2 + (2n +1)\) ?

StellaMartensitica
Intendi la formula per la somma dei primi $n$ termini di una progressione aritmetica mi viene in mente:

$S_n=(a_1+a_n)/2 *n$

Progressione aritmetica numeri dispari. Primo termine è $a_1=1$
n-esimo termine è $a_n=2n-1$, quindi:
$S_n=(1+2n-1)/2 *n=n*n=n^2$
si credo proprio sia questa la chiave per capire... Grazie mille. Adesso ho capito il principio e perché c'è scritto $odd$, che sta appunto per dispari in inglese.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.