Ricorsione
Ciao a tutti. Volevo chiedere un favore a ki se ne intende un po' d info(e in particolare d java) un'aiuto su dei programmini banali ma irraggiungibili, ora come ora, x la mia mente nn abituata a pensare ricorsivamente....
Sarebbero i seguenti:
1)Scrivere un algoritmo ricorsivo per calcolare il prodotto dei primi
k numeri pari con k = 1, 2, 3, 4, 5,...10
2) Scrivere un algoritmo ricorsivo per ottenere l'inversione di una stringa.
3) Scrivere un algoritmo ricorsivo per stampare i primi numeri pari in
ordine decrescente e i primi dispari in ordine crescente utilizzando
due metodi distinti: stampapari, stampadispari.
4) Scrivere un algortimo ricorsivo per verificare se una parola e'
palindroma.
mi basta almeno l'idea.. se nn potete postare il codice...
grazie

Sarebbero i seguenti:
1)Scrivere un algoritmo ricorsivo per calcolare il prodotto dei primi
k numeri pari con k = 1, 2, 3, 4, 5,...10
2) Scrivere un algoritmo ricorsivo per ottenere l'inversione di una stringa.
3) Scrivere un algoritmo ricorsivo per stampare i primi numeri pari in
ordine decrescente e i primi dispari in ordine crescente utilizzando
due metodi distinti: stampapari, stampadispari.
4) Scrivere un algortimo ricorsivo per verificare se una parola e'
palindroma.
mi basta almeno l'idea.. se nn potete postare il codice...
grazie
Risposte
in che linguaggio devono essere scritti?
Tu con ricorsione intendi cicli????
Se si allora ricorda che un numero pari tu lo puoi scrivere come $p=2*k$ e al variare di $k$ ottieni tutti i numeri pari.
Quindi ti basta impostare un ciclo
per $k=1,1,10$
$p=2*k$
Se si allora ricorda che un numero pari tu lo puoi scrivere come $p=2*k$ e al variare di $k$ ottieni tutti i numeri pari.
Quindi ti basta impostare un ciclo
per $k=1,1,10$
$p=2*k$
Ho pochissimo tempo a disposizione, per il momento posto una funzione ricorsiva in c che restituisce il prodotto dei primi n numeri.
long prodotto_primi_n(int n) { long r; if(n<1) r=0; if(n = 1) r=1; if(n>1) r = (long) n*prodotto_primi_n(n-1); return r; }
Ma frequenti il corso di linguaggi I?
Se pesco gli appunti in giro per casa ti posto del codice. Cmq li fai tutti allo stesso modo... ponendo i valori nello stack e poi leggendoli quando la condizione termina (le funzioni sono chiuse in ordine inverso)
Se pesco gli appunti in giro per casa ti posto del codice. Cmq li fai tutti allo stesso modo... ponendo i valori nello stack e poi leggendoli quando la condizione termina (le funzioni sono chiuse in ordine inverso)
"Sonix":
in che linguaggio devono essere scritti?
In java!
doremifa:
Tu con ricorsione intendi cicli????
No, la ricorsione è un'argomento a se stante.
Ho pochissimo tempo a disposizione, per il momento posto una funzione ricorsiva in c che restituisce il prodotto dei primi n numeri.
GRazie intanto x quello ke hai postato...
gigilatrottola:
Ma frequenti il corso di linguaggi I?
Se pesco gli appunti in giro per casa ti posto del codice. Cmq li fai tutti allo stesso modo... ponendo i valori nello stack e poi leggendoli quando la condizione termina (le funzioni sono chiuse in ordine inverso)
no, è x fondamenti di informatica...

ti ringrazio in anticipo se hai la possibilità d postarmi il codice...
Lo so ke certi sono facili, e me ne accorgo ankio quando vedo la soluzione... ma nn sono ancora entrato nell'ottica giusta...oppure, cosa + probabile, nn sono dotato di intelligenza logica...


"Sonix":
in che linguaggio devono essere scritti?
In java!
"doremifa":
Tu con ricorsione intendi cicli????
No, la ricorsione è un'argomento a se stante.
Ho pochissimo tempo a disposizione, per il momento posto una funzione ricorsiva in c che restituisce il prodotto dei primi n numeri.
GRazie intanto x quello ke hai postato...
"gigilatrottola":
Ma frequenti il corso di linguaggi I?
Se pesco gli appunti in giro per casa ti posto del codice. Cmq li fai tutti allo stesso modo... ponendo i valori nello stack e poi leggendoli quando la condizione termina (le funzioni sono chiuse in ordine inverso)
no, è x fondamenti di informatica...

ti ringrazio in anticipo se hai la possibilità d postarmi il codice...
Lo so ke certi sono facili, e me ne accorgo ankio quando vedo la soluzione... ma nn sono ancora entrato nell'ottica giusta...oppure, cosa + probabile, nn sono dotato di intelligenza logica...


Scusate x il doppio post... ma è stato un problema del pc...
Prova a dare un'occhiata a questi (non sono il massimo, si possono anche semplificare volendo, ma funzionano...):
prodotto dei primi k pari
inversione di una stringa
sequenze pari/dispari decrescente/crescente
verifica parola palindroma
prodotto dei primi k pari
inversione di una stringa
sequenze pari/dispari decrescente/crescente
verifica parola palindroma
T ringrazio molto stan!!!