HELP exercice de C

FonGuss Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
FonGuss Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -
J´en ai marre, ca fait une semaine et demi que je me casse la tete sur un exercice que mn prof ma proposé en cours de C . C´est pourquoi je me suis dit que j´alai demander votre aide ( il y a plus dans 50 tetes que dans une...)

Voila le probleme:

Calculer et afficher le Nième terme ( N à saisir au clavier) de la suite de FIBONACCI:
0,1,1,2,3,5,8,13,21,34,55,89......

N.B.: Fib(1)=0 ; Fib(2)=1;
et Fib(i)=Fib(i-1)+Fib(i-2) pour tout i>2

Résoudre avec
1) Boucle FOR
2) Boucle WHILE




Voila comme le probleme est posé.
J´ai bien compris l´énoncé, je vois plus ou moins ce qu´il faut faire dans ma tete, mais en C, ca se complique, 1 semaine et demi, ca commence a me courrir...

8 réponses

mirza
 
Salut FonGuss,

il faut que tu écrives une fonction récusive ou itérative en C pour résoudre cet exercice

bye

,mirza
0
FonGuss Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
heuuu ouui..
je ne sais pas trop ce que c'est, je debute, je n'ai eu que 2mois de cours depuis septembre...
0
mirza
 
une fonction est un bout de code du style

int fois2(int a)
{
return a * 2;
}

toi tu dois écrire une fonction
int fib(int n) {
... A REMPLIR ...
}
0
FonGuss Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
oui c'est ce que j'ai essayé de faire, mais je n'y arrive pas...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
moha
 
barra neyek
0
moha
 
ooooooooooooh
c'est très facile
c-a-d
trèèèèèèèèèèèèèès
dificle
0
fred Maitrise Informatique
 
Salut, ca ne devrait pas me poser de probleme car je l'ai fait il ya trois ans en deug d'info.
NE FAIS PAS DE RECURSIVITE!!!!!!!!!!!!!!!!!
tu stoques les deux elements precedants dans des variables, c'est le plus judicieux croix moi. La recursivite c'est bien le dernier truc a faire pour ce probleme.
Le programme (pensez au declarations au debut!!je n'ai pas tt declaré!!)
int main()
{
int N;
printf("donner nombre?\n");
scanf("%d",N);
if(i>=2)
{
rang_moins_deux=0;
rang_moins_un=1;
for(i=2;i<=N;i++)
{
rang=rang_moins_deux+rang_moins_un;
printf("%d\n",rang);
rang_moins_deux=rang_moins_un;
rang_moins_un=rang;
}
return 0;
}
et c'est dans la poche!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
0
FonGuss Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup ca marche!
0