Indice de récursivité

Fermé
amanichka Messages postés 1 Date d'inscription dimanche 31 mai 2009 Statut Membre Dernière intervention 3 décembre 2011 - Modifié par irongege le 4/12/2011 à 19:18
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 4 déc. 2011 à 19:27
Bonjour,
j'ai une fonction récursive f(i) qui contient 4 appels internes f(i..), f(i..), f(i..), f(i..)
sachant que lors de l'exécution des différents appels , il y'a la possibilité d'avoir plusieurs appels qui se font en parallèle, ce qui pose un problème au niveau de l'indice i qui peut se répéter , car je veux dans le résultat final avoir des indices uniques, alors comment appliquer une formule mathématique dans les différents 4 appels internes pour satisfaire cette condition ???

j'ai fait cette solution mais c'est le même problème
f(i) { f(i+1); f(i+2); f(i+3) f(i+4)}
merci

1 réponse

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
3 déc. 2011 à 00:24
J'ai pas compris... Tu pourrais réexpliquer ce que tu veux faire et ce qui pose problème.
Avec un exemple ce sera peut-être plus clair ;-)
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
3 déc. 2011 à 01:00
Est-ce que f(i) { f(4*i+1); f(4*i+2), f(4*i+3); f(4*i+4); } en commençant par i=0 ça irait ?
0
Dans l'ordre d'éxécution des appels internes
Supposons que F(0) s'éxécute , on aura f(1 ), f(2), f(3) , f(4) qui vont se lancer, mais f(0) n'a pas encore terminé son travail , et voila f(1) qui se lance au mem temps j'aurai ( f(2) ... f(5))... Tu vois il y'a des indices qui se répètent. Moi j'ai bession de cet indice pour avoir par la suite un tableau de résultat
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
4 déc. 2011 à 14:05
Avec mon ordre à moi il n'y a pas de doublon. Si tu lances f(0), tu vas avoir f(1),f(2),f(3),f(4)
Quand f(1) se lance tu vas avoir f(5),f(6),f(7),f(8), quand f(2) se lance : f(9), f(10), f(11), f(12) ...
0
comment je peux deviner la valeur maximale que peu avoir l'indice i ? merci d'avance
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
4 déc. 2011 à 15:40
Il n'y a pas de valeur maximale. Pas plus qu'il y en avait quand tu faisais f(i+1) f(i+2) f(i+3) f(i+4)
Si tu te limites à ce code les indices continueront à augmenter encore et encore...
0