Exercice 11 : Maudits lapins
1 – Faites un tableau donnant pour les 6 premiers mois les couples « nouveaux »,
les couples « productifs » et le total.
-
Mois
|
1
|
2
|
3
|
4
|
5
|
6
|
Couples « nouveaux »
|
1
|
0
|
1
|
1
|
2
|
3
|
Couples « productifs »
|
0
|
1
|
1
|
2
|
3
|
5
|
Total des couples
|
1
|
1
|
2
|
3
|
5
|
8
|
2 – Pour un mois donné; comment calcule-t'on les couples « nouveaux » ? les
couples « productifs »
Le nombres de couples « nouveaux » est égal au nombre de couples « productifs »
du mois précédent.
Le nombre de couples « productifs » est égal au nombre de couples « productifs »
du mois précédent (qui reste productifs) auquel s'ajoute le nombre de couples
« nouveau » du mois précédent (qui eux deviennent productifs).
3 – Écrivez alors une procédure qui fournit pour un mois donné, le nombre total
de couples.
void fibonnaci(int mois,int *resultat)
{
// on se dispense de verifier que mois > 0
int nvx,prod,i;
nvx = 1;
prod = 0;
for(i=mois; i>1; i--){
// prod prend la valeur prod + nvx du mois précédent
prod = prod + nvx;
// nvx prend la valeur prod du mois précédent
nvx = prod – nvx;
}
*resultat = prod + nvx; // resultat prend pour valeur le total
}
Exercice 12 : Calcul matriciel
En pseudo-code :
C[M][P] multiplication(A[M][N],B[N][P])
Debut
entier l,c,i;
Pour l = 0 à M Faire
Pour c = 0 à P Faire
C[l][c] <- 0;
Pour i = 0 à N Faire
C[l][c] <- C[l][c] + A[l][i] * B[i][c]
FinPour
FinPour
FinPour
Fin