on a comme fonctions :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
int f_Appel_g (int n){
	if((n == 0) ||(n == 1))
		return (1);
	else
		return g_Appel_f(g(n-2));
}
 
int g_Appel_f (int n){
	if((n = 0))
		return (1);
	else
		return (f_Appel_g (f(n - 1)*f_Appel_g (n - 1));
}
S'il faut chercher la complexité de f_Appel_g en nbre de multiplication.
je commence à chercher le nbre de multiplication dans chaque fonction:
f_Appel_g :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
si n = 0 ou n= 1, C f_Appel_g (n) = 0
si n > 1 C f_Appel_g (n) = C g_Appel_f (n -2)
et pour g_Appel_f
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
si n = 0, C g_Appel_f (0) = 0
si n > 0 C g_Appel_f (n) = 1 + 2 C f_Appel_g (n -1)
mon souci est comment relier les deux relations, on a le droit d'écrire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
si n <= 2 , C f_Appel_g (n) = 0
si n > 2 C f_Appel_g (n) = 1 + 2 C f_Appel_g (n -3)
merci d'avance,
GM