Algorithme du PPCM de 02 nombres

Ecrire un Algorithme qui Déterminer Le ppcm de deux nombres entiers naturels (non nuls) a et b revient tout simplement à déterminer leur plus petit multiple commun non nul.

Nb : En mathématiques, et plus précisément en arithmétique, le plus petit commun multiple – en abrégé PPCM – (peut s'appeler aussi PPMC, soit « plus petit multiple commun ») de deux entiers non nuls a et b est le plus petit entier strictement positif qui soit multiple de ces deux nombres.

Exemple : PPCM(27,63)=3×3×3×7=189

 

Proofs

1. Par résolution :

Nouvelle base de connaissance : \[ \neg(\exists x, R(x) \land \lnot S(x)) \] Nous devons négativement universellement quantifier et distribuer : \[ \forall x, \neg(R(x) \land \lnot S(x)) \] Appliquons les règles de résolution : \[ \forall x, \neg P(x) \lor \exists y, Q(x, y) \] \[ \neg P(x) \lor Q(x, y) \lor R(y) \] \[ \neg R(y) \lor \neg S(y) \lor \neg P(x) \lor \neg Q(y, x) \] \[ \neg S(x) \lor R(x) \] \[ P(x) \] En résolvant ces clauses, on obtient la clause vide (\(\bot\)), ce qui signifie que la négation de la conclusion est insatisfaisante, et donc la conclusion \(\exists x, R(x) \land \lnot S(x)\) est prouvée.

2. Par chaînage avant :

On commence par instancier les quantificateurs existentiels dans la base de connaissance et utiliser les clauses pour déduire de nouvelles clauses jusqu'à atteindre la conclusion. - À partir de la clause 5 : \( P(c) \) (où \(c\) est une constante) - À partir de la clause 1 (avec \(c\)) : \( \exists y, Q(c, y) \) - À partir de la clause 2 (avec \(c\) et une nouvelle constante \(d\)) : \( R(d) \) - À partir de la clause 4 (avec \(c\)) : \( R(c) \) À ce stade, nous avons \(R(d)\) et \(R(c)\), nous pouvons donc conclure \(R(c) \land \lnot S(c)\), et par conséquent, la conclusion est prouvée.

3. Par chaînage arrière :

On commence par instancier la conclusion et essayer de remonter la chaîne pour satisfaire les prémisses. - \( \exists x, R(x) \land \lnot S(x) \) - \( R(a) \land \lnot S(a) \) (où \(a\) est une nouvelle constante) On remonte ensuite la chaîne : - À partir de la clause 4 : \( \lnot S(a) \lor R(a) \) - À partir de la clause 3 (avec \(a\) et une nouvelle constante \(b\)) : \( \lnot R(b) \lor \lnot S(b) \lor \lnot P(a) \lor Q(b, a) \) - À partir de la clause 2 (avec \(a\) et \(b\)) : \( \lnot P(a) \lor Q(b, a) \lor R(b) \) - À partir de la clause 1 (avec \(a\) et une nouvelle constante \(c\)) : \( \lnot P(a) \lor Q(c, a) \) On peut maintenant utiliser la clause \( \lnot P(a) \lor Q(c, a) \) avec la clause \( P(a) \) pour obtenir \( Q(c, a) \), et utiliser cela avec \( \lnot S(b) \lor \lnot P(a) \lor Q(b, a) \) pour obtenir \( \lnot S(b) \). Enfin, cela peut être utilisé avec \( \lnot S(a) \lor R(a) \) pour obtenir \( \bot \), prouvant ainsi la conclusion.

Correction:

Algorithme PPCM ;
var a , b ,c ,d : entier ;

Debut

Ecrire (" entrez vos deux nombres ");

  repeter

        lire ( a,b ) ;

   jusqu'a ( a > 0 et b > 0 ) ;

 

c<- a ;

d <- b ;

  tant que a < > b faire

      si a > b alors

          b <- b+d

      sinon

          a <- a+c  ;

     fsi

  fin tant que

   Ecrire (" le PPCM est de " , c , " et " , d , "est : " , a ) ;

Fin.

  • 8 votes. Moyenne 4.5 sur 5.

Commentaires

  • setoudie

    1 setoudie Le 17/02/2024

    ton code calcule en faite le PGCD avec l'algo d'euclide et non le PPCM
  • ismail

    2 ismail Le 10/01/2024

    fall ton code ne marche pas bro
  • ismail

    3 ismail Le 10/01/2024

    fall ton code ne marche pas bro
  • scott

    4 scott Le 07/11/2023

    Ça c est quoi ça c est trop compliqué bros
  • Ly

    5 Ly Le 27/01/2023

    Et je viens de remarquer qu’il ya des valeurs avec lesquels ton programme génère une boucle infinie
  • Ly

    6 Ly Le 27/01/2023

    Fall ton code là ne marche pas dans tous les cas deh
  • Djiomo Arold

    7 Djiomo Arold Le 13/12/2020

    Merci beaucoup
    joel_yk

    joel_yk Le 31/12/2020

    Bonjour / Bonsoir Arold et Merci Pour votre soutien !

Ajouter un commentaire

Anti-spam