Seuraavassa on tehokas rekursiivinen funktio, joka hyödyntää dynaamista ohjelmointia:
function fibo(n) if n <= 1 return n else if f[n] != 0 return f[n] else f[n] = fibo(n-1) + fibo(n-2) return f[n]
f
Esimerkiksi kun n = 10, funktio palauttaa arvon 55.
Toteuta algoritmi pseudokoodin perusteella Javalla tai Pythonilla ja vastaa sitten seuraaviin kysymyksiin:
Kun n = 30, funktio palauttaa arvon ja aikaa kuluu sekuntia.
Kun n = 40, funktio palauttaa arvon ja aikaa kuluu sekuntia.
The deadline for this task has passed but you can still check your answers