Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1410 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  PPCM en Scheme (Lisp)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

PPCM en Scheme (Lisp)

n°853720
burgergold
5$? va chez l'diable!
Posté le 19-09-2004 à 21:26:32  profilanswer
 

voila jviens de faire ce code pour déterminer le plus petit commun multiple de 2 nombres
 
ca semble fonctionner pour plusieurs cas, mais ca ne fonctionne pas si je passe 42 et 30 par exemple, ca semble tourner en boucle
 
pourtant ca devrait donner 210 assez rapidement, et je vois pas trop pourquoi ca fonctionne pas :/
 

Code :
  1. (define (ppcm n1 n2)
  2.   (define (iter x y)
  3.     (cond ((= x y) x)
  4.           ((> x y) (iter x (+ y y)))
  5.           ((< x y) (iter (+ x x) y))))
  6.   (cond ((= n1 0) "impossible" )
  7.         ((= n2 0) "impossible" )
  8.         ((< n1 0) (ppcm (- n1) n2))
  9.         ((< n2 0) (ppcm n1 (- n2)))
  10.         (else
  11.          (iter n1 n2))))

mood
Publicité
Posté le 19-09-2004 à 21:26:32  profilanswer
 

n°853726
Taz
bisounours-codeur
Posté le 19-09-2004 à 21:39:13  profilanswer
 

c'est on algo qui est pas bon je pense
 
cela dit je suis incapable de m'en souvenir, le pgcd et comment calculer ensuite le ppcm, ça oui :d

n°853736
burgergold
5$? va chez l'diable!
Posté le 19-09-2004 à 21:47:02  profilanswer
 

bin jcrois que ca revient pas mal à ca (sauf en récursif)
 

tant que x != y
 si x > y
  y += y
 si x < y
  x += x


 
si on test sur papier pour le cas 42 et 30
 


42 30
42 60
84 60
84 90
126 90
126 120
126 150
168 150
168 180
210 180
210 210


 
ca semble fonctionner :/

n°853739
Taz
bisounours-codeur
Posté le 19-09-2004 à 21:50:13  profilanswer
 

euh si on suit ton algo, à chaque pas, x ou y est doublé
 
 
dès la 4ème ligne, ça marche pu ton truc ... fait à partir du pgcd :D

n°853741
burgergold
5$? va chez l'diable!
Posté le 19-09-2004 à 21:51:16  profilanswer
 

Taz a écrit :

euh si on suit ton algo, à chaque pas, x ou y est doublé
 
 
dès la 4ème ligne, ça marche pu ton truc ... fait à partir du pgcd :D


 
ah putin faut j'additionne n1 ou n2, quel con je suis :D
 
merci pour ton oeil de lynx


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  PPCM en Scheme (Lisp)

 

Sujets relatifs
Scheme. Affichage inattendu d'une apostrophe.[LISP] j arrive pas a tranformer un résultat en chaine de caractère
urgent ! qsort en lispune FND en une FNC lisp
[Scheme] GUI : tout intégrer dans un let ? des problèmes s'ensuivent..[Scheme] let* avec canvas% : quand get-client-size disponible ?
[lisp] petite question sur implodech[scheme] somme des elements d'une liste, qu'est ce qui va pas??
[C++] Utilisation de Scheme au sein d'une application C++[Scheme] 2 tests identiques à la suite : comment faire mieux ?
Plus de sujets relatifs à : PPCM en Scheme (Lisp)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR