In R utilizzando il programma che opera sui numeri naturali usabile col comando source("http://macosa.dima.unige.it/r.R") [o lo script recursion-C] calcola (esattamente) i valori di Fib(n) per n = 10, 50, 100, 200, 300, 400 [10, 20, 30, 40, 50, 60, 70] calcola (esattamente) i valori di Fib(n) per n = 10, 50, 100, 200, 300, 400 dove Fib è la cosiddetta successione di Fibonacci  (vedi),  definita ricorsivamente in questo modo:  Fib(1) = 1, Fib(2) = 1, Fib(n+2) = Fib(n)+Fib(n+1).  Confronta i valori con quelli ottenubili con WolframAlpha battendo fibonacci[10], … fibonacci[400].  Verifica, infine, che il rapporto  Fib(n)/Fib(n-1)  tende a stabilizzarsi e deducine che  Fib(n)  cresce come una opportuna funzione  n → a^n.

Rivedi i commenti presenti nella soluzione dell'esercizio a cui venite collegati nel testo. Ecco come calcolare esattamente tutti i valori della successione di Fibonacci:

fib <- NULL; fib[1] <- "1"; fib[2] <- "1"
for(i in 3:400) fib[i] <- som(fib[i-1],fib[i-2])
fib[10]; fib[50]; fib[100]; fib[200]; fib[300]; fib[400]
# "55" "12586269025" "354224848179261915075" "280571172992510140037611932413038677189525"
# "222232244629420445529739893461909967206666939096499764990979600"
# "176023680645013966468226945392411250770384383304492191886725992896575345044216019675"
app(fib[400])
# 1.760237e+83

Con recursion-C:

I valori che si ottengono con WolframAlpha sono gli stessi.
Calcoliamo il rapporto tra due termini successivi:

piu(app(fib[200])/app(fib[199]))
# 1.61803398874989
piu(app(fib[201])/app(fib[200]))
# 1.61803398874989
piu(app(fib[202])/app(fib[201]))
# 1.61803398874989
piu(app(fib[400])/app(fib[399]))
# 1.61803398874989
Con lo script e con la calcolatrice, per n = 70, 71, 72:
308061521170129 / 190392490709135 = 1.6180339887
498454011879264 / 308061521170129  = 1.6180339887

Si stabilizzano su un numero particolare. Vediamo con WolfrmaAlpha se esso è esprimibile diversamente. Ottengo che questo numero viene chiamato golden ratio (rapporto aureo) e che è pari a (1+√5)/2.  Se, tendenzialmente, fib[n+1]/fib[n] = k, vuol dire che, tendenzialmente, ad ogni passo l'uscita viene moltiplicata per k, ossia che tendenzialmente, fib[n] = k·k·…k = kn, con k = (1+√5)/2.  Verifichiamo la cosa:

G <- function(n) ((1+sqrt(5))/2)^n
G(100)/app(fib[100]); G(200)/app(fib[200]); G(300)/app(fib[300]); G(400)/app(fib[400])
#  2.236068  2.236068  2.236068  2.236068
piu(G(400)/app(fib[400]))
# 2.23606797749982

Quindi Fib(n) ≈ A·Bn con B = (1+√5)/2 e A ≈ 2.236067977. Con WolfrmaAlpha se introduco 2.23606797749982 ottengo che 2.23606797749978969 è l'approssimazione di √5.  Quindi Fib(n)((1+√5)/2)n/√5.

# Verifica:
H <- function(n) ((1+sqrt(5))/2)^n/sqrt(5)
H(8);fib[8]; H(12);fib[12]; H(16);fib[16]; H(50);fib[50]
# 21.00952 "21" 144.0014 "144" 987.0002 "987" 12586269025 "12586269025"
# OK

Posso verificare la cosa con WolfrmaAlpha in vari modi. Ad esempio se introduco:
lim fibonacci[n]/(((sqrt(5)+1)/2)^n) as n -> inf
ottengo  1/√5