Esercizi¶
Scrivere una funzione ricorsiva che calcola la somma dei primi n numeri
Scrivere una funzione ricorsiva che calcola la potenza di un numero
Il Triangolo di Pascal è un insieme di numeri organizzati in un triangolo di numeri tali che
\[a_{nr} = {n! \over{r! (n-r)!}}\]Questa equazione è l’equazione del coefficiente binomiale. Possiamo costruire il triangolo di Pascal sommando i due numeri che sono sopra (diagonalmente) a ciascun numero. Per esempio:
1 1 1 1 2 1 1 3 3 1 1 4 6 4 1
Scrivere un programma che stampa il triangolo di Pascal. Il programma deve accettare un parametro che dice il numero di righe da stampare.
I numeri di Catalan sono una sequenza di interi particolare. Realizzare una funzione ricorsiva, che dato un numero n calcola (e restituisce) l’n-esimo numero delle sequenza in base alla definizione induttiva fornita in questo pdf.
Verifica (ricorsiva) di proprietà. Scrivere una funzione ricorsiva che legge da input una sequenza di valori interi positivi terminata dal valore 0 (che non fa parte della sequenza) e che verifica la seguente proprietà: ogni valore letto è doppio del valore precedente. Ad esempio la sequenza 2 4 8 16 32 0 verifica la proprietà. La funzione deve restituire 1 se la proprietà è verificata e 0 altrimenti e non può utilizzare gli array.
Inversione di una stringa ricorsiva. Scrivere un programma che legge una sequenza di interi terminata da 0 (chiede un intero alla volta) e stampa la sequenze invertita sullo schermo. Ad esempio, leggendo la sequenza 1 8 3 4 6 0, deve stampare 6 4 3 8 1. Il programma deve fare uso di una funzione ricorsiva e non può usare liste o array.
Implementare una funzione ricorsiva hanoi(n,A,C,B) che stampa tutti gli spostamenti necessari per risolvere la Torre di Hanoi con n dischi come illustrato in questi lucidi. Sviluppare un programma che chiede all’utente di inserire n da standard input e stampa le mosse necessarie sullo standard output.