Ho una domanda sui miei compiti a casa e ho bisogno di sapere come restituire l'ennesimo numero di sequenze di Fibonacci usando l'iterazione (non è consentita la ricorsione).Restituendo nth Fibonacci numerare la sequenza?
Ho bisogno di alcuni suggerimenti su come farlo, così posso capire meglio cosa sto facendo male. Esco in console nel mio program.cs, quindi è assente nel codice qui sotto.
// Q1)
//
// Return the Nth Fibonacci number in the sequence
//
// Input: uint n (which number to get)
// Output: The nth fibonacci number
//
public static UInt64 GetNthFibonacciNumber(uint n)
{
// Return the nth fibonacci number based on n.
if (n == 0 || n == 1)
{
return 1;
}
// The basic Fibonacci sequence is
// 1, 1, 2, 3, 5, 8, 13, 21, 34...
// f(0) = 1
// f(1) = 1
// f(n) = f(n-1) + f(n-2)
///////////////
//my code is below this comment
uint a = 0;
uint b = 1;
for (uint i = 0; i < n; i++)
{
n = b + a;
a = b;
b = n;
}
return n;
si sta riutilizzando 'n'. Ciò rende la condizione del ciclo errata dopo la prima iterazione. – harold
non dovresti modificare 'n' nel tuo ciclo for. – Shmiddty
wow, mi sento stupido grazie, nuovo alla programmazione – user1766351