Indice de récursivité

amanichka Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
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 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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
amanichka
 
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 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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
amanichka
 
comment je peux deviner la valeur maximale que peu avoir l'indice i ? merci d'avance
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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