Numero en serie

Fermé
pepi234 Messages postés 4 Date d'inscription samedi 25 janvier 2014 Statut Membre Dernière intervention 22 mars 2015 - 25 janv. 2014 à 06:53
sambia39 Messages postés 610 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 9 février 2023 - 26 janv. 2014 à 18:01
Comment faire de la prochaine série de chiffres en c + + en utilisant le cicle "for"?
la serie irait comme ceci:
1 , 1 , 2 , 4 , 7 , 11 , 18 , 36 , 65.....

aidez-moi s'il vous plait a resoudre ce programme!
merci d'avance!!!!!!!!

3 réponses

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
25 janv. 2014 à 10:40
0
pepi234 Messages postés 4 Date d'inscription samedi 25 janvier 2014 Statut Membre Dernière intervention 22 mars 2015
25 janv. 2014 à 14:41
Tout simplement je n'arrive pas a trouver le vrai code pour pour faire macher le programme.
je veux qu'il va imprimer comme ca

1,1,2,4,7,11,18.

mais je le fais comme ca il n'est pas identique
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int a = 1;
for(int i = 1; a <= 99; i++){
cout<<a<<endl;
if(i % 1 == 0){
a++;
}
a+2;
}
cin.get();
return 0;
}
0
sambia39 Messages postés 610 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 9 février 2023 49
26 janv. 2014 à 18:01
Bonjour, ton bout de code ressemble à la suite de Fibonacci,
alors pour t'aider je vais résumer algorithmiquement ton soucie avec le code en boucle for et une autre avec la récursivité enfin je vais essayer.

pour la boucle "for" ça ressemblerais à ça (à testé)

for (int i=0 ; i< n ; i++ ){
if (i<=1)
nProchain = i;
else{
nProchain = nPremiers + nSecond;
nPremiers= nSecond;
nSecond =nProchain;
}
std::cout<<nProchain<<std::endl;
}

plus fort que toi la récursivité mais attention évite de planté ton pc en le laissant afficher des grand nombres et faut pas t'étonné de voir des - quelque chose c'est normale car tu as dépasser les limite d'un entier qui est de -2 147 483 648 à 2 147 483 dépendant des pc


int fSuiteFibo(int iNb){
if(iNb<3)
return 1 ;
else
return(fSuitefibo(iNb-2)+fSuiteFibo(iNb-1)) ;
}

Je pense que je vous es aidé à bientôt
0