La suite de Fibonacci en C++
#include <iostream>
using namespace std;
int main()
{
int num1 = 0;
int num2 = 1;
int num_temp;
int num_next = 1;
int n;
cin >> n;
for (int i = 0; i < n; i++){
cout << num_next << " ";
num_next = num1 + num2;
num1 = num2;
num_temp = num2;
num2 = num_next - num1;
num1 = num_temp;
}
return 0;
}
J'ai à la sortie de la première "n" nombres de fibonacci cependant, je pense qu'il y a un problème dans la logique.. je ne peux pas savoir ce que je fais mal. Le premier de 3 ou 4 éléments sont corrects mais un problème se produit...
PRÉVU:
Pour n=9
0, 1, 1, 2, 3, 5, 8, 13, 21
Réel:
1 1 1 1 1 1 1 1 1
Montrer ce que vous obtenez. D'erreur? Les faux numéros?
J'ai mal numéros..
Fournir des attendu et de sortie.
vous avez quelques pas des étapes nécessaires.
Pourquoi êtes-vous en soustrayant? La suite de Fibonacci est tout au sujet de l'ajout.
J'ai mal numéros..
Fournir des attendu et de sortie.
vous avez quelques pas des étapes nécessaires.
Pourquoi êtes-vous en soustrayant? La suite de Fibonacci est tout au sujet de l'ajout.
OriginalL'auteur user2943407 | 2013-10-31
Vous devez vous connecter pour publier un commentaire.
vous n'avez pas l'impression de la première et deuxième nombres dans la liste à l'intérieur de la boucle. parce que ce sont des startups. vous imprimez 1er et 2e chiffres avant la boucle comme je l'ai fait. n'ai pas mon code de produire la bonne liste??
ops, extra cout de commande. J'ai mis à jour.
Votre code de sorties 11 valeurs pour n=9... je pense que je doit commencer à partir de 2 à corriger ou à aller à n-2?
Maintenant, il commence à partir de 1 2 3 5 8 13 21 etc pour n=9.
OriginalL'auteur hasan
Essayez plutôt ceci. C'est un peu différent, mais vous y arriverez tout de même.
OriginalL'auteur Brian
La suite de Fibonacci est {0, 1, 1, 2, 3, ... N - 1, N, 2N - 1}.
Pour le mettre en œuvre, vous devez avoir un
N - 2
variable, et unN - 1
variable de sorte que vous pouvez calculerN = (N - 2) + (N - 1)
:Généralement, le 0 est laissé de côté lors de l'écriture, mais si vous insistez ...
OriginalL'auteur Zac Howland
C'est ma version.
C'est plus ou moins identique au précédent échantillons, mais je voulais montrer l'utilisation de l'anneau de la mémoire tampon.
OriginalL'auteur Tony
Il met la valeur suivante dans le 'b' en ajoutant les deux dernières valeurs. " une " puis obtient la précédente b valeur. supposons a = 3 et b = 5. Ensuite, le nouveau b deviendront 8 et " a " va devenir 5. C'est parce qu'il additionne toujours les deux derniers chiffres pour obtenir le résultat de la prochaine certain nombre. La prochaine opération de somme 5 (a) et 8(en cours b) et ainsi de suite...
OriginalL'auteur user2773143
Jasmine,
are you sure
?OriginalL'auteur jasmine sharma
Débordement de pile est, bien sûr, une limitation de la version récursive. Si ce n'est pas un problème, vous pouvez également envisager basé sur un modèle version récursive de Fibonacci.
OriginalL'auteur Daniel Beale
Eh bien, j'ai été la recherche de quelques récursive solution pour faire la même tâche, Surtout ce que les gens font, ils ont écrire une fonction récursive pour trouver de la n-ième nombre de Fibonacci, puis dans le programme principal, ils ont une boucle de n fois, et d'appeler cette fonction récursive avec des valeurs de 1 à n pour obtenir tous les n nombres de Fibonacci et de les imprimer, ce qui est un gros dessus.
Voici une solution qui fonctionne de la même tâche, mais il les appels récursifs de la fonction qu'une seule fois pour obtenir tous les n nombres de Fibonacci, et les stocke dans un tableau, puis imprime. Qui est ((n-1)*(appel récursif de la surcharge)) fois plus rapide que celui que j'ai mentionné plus tôt. Thumbs up si vous le trouvez aider 🙂
OriginalL'auteur Zohaib
OriginalL'auteur yrubin07
Voici une solution sans une variable temp:
Aussi une (queue) solution récursive:
OriginalL'auteur Felix Livni
OriginalL'auteur Eric Gitangu
Donc... Heres une solution à "Si vous voulez une séquence spécifique de la Fib."
OriginalL'auteur Smity
Comment sur un autre coup d'oeil à une solution récursive:
Ensuite, vous pouvez l'appeler:
Exemple de sortie:
OriginalL'auteur RooiWillie