Permuter deux nombre sans utiliser temp
prince_mesfiwi
-
lami20j Messages postés 21506 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21506 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
Bonjour,
je ne pense pas qu'il y'a une solution pour permuter le contenu de deux cases mémoire sans utiliser une variable tmp !!!
il ne faut même pas y reflechir !! c'est impossible !
je ne pense pas qu'il y'a une solution pour permuter le contenu de deux cases mémoire sans utiliser une variable tmp !!!
il ne faut même pas y reflechir !! c'est impossible !
2 réponses
-
Si si, c'est possible, du moins avec des nombres :
Soit a et b deux variables. Soient na et nb les valeurs associées à ces variables au début.
Etat initial :
a == na
b == nb
a := a + b, donc a == na + nb
b := a - b, donc b == (na + nb) - nb = na
a := a - b, donc a == (na + nb) - na = nb
Etat final :
a == nb
b == na
Donc si, c'est possible ! Mais justement, il faut y réfléchir, et ne pas se dire « ça sert à rien d'y réfléchir c'est impossible » ;) -
Salut,
oui c'est possible
voici comment on peux faire en Perl($x,$y) = ($y,$x);
voir aussi dans la faq permuter deux variables sans utilisation d une variable temp
mais cette version est limitée (attention au depassement de capacité)