Maj le 04/11/2001

Les triplets de Pythagore


Téléchargement de EditAlgo.zip

Nouvelle compilation d'EditAlgo le 30/10/2001.

 
Vous pouvez aussi télécharger IPCUTE.EXE (interpréteur et compilateur Pascal de François Bret) à l'adresse suivante :
http://www.ipcute.com

Vous avez créé des algorithmes avec EditAlgo. Ayez la gentillesse de me les faire parvenir en courrier joint à l'adresse
jean.thiou@free.fr  

Enoncé

On cherche tous les triplets de nombres entiers (a,b,c) tels que  a<= b<= 100 et tels que a²+b²=c².
Dénombrer ces triplets et les afficher.

Utilisation de EDITALGO

Liste des variables utilisées


Algorithme



Les programmes correspondants

Langage Pascal

Program TripletDePythagore;


VAR
  a :Integer;  { a^2+b^2=c^2 }
  b :Integer;  { a^2+b^2=c^2 }
  c :Integer;  { a^2+b^2=c^2, si possible ! }
  d :Integer;  { d=a²+b² }
  cpt :Integer;  { Compteur des triplets de Pythagore }


BEGIN
   cpt := 0;
   For a :=1 to 100 do
     For b := a to 100 do
     Begin
       d := Sqr(a) + Sqr(b);
       c := Trunc(Sqrt(d));
       If d=Sqr(c) Then
       Begin
         cpt := cpt+1;
         Writeln(cpt,'   a = ',a,'   b = ',b,'   c = ',c)
       End
     End
END.

Langage C

(Il existe deux erreurs à corriiger dans le source proposé...la correction ser afaite dans la version suivante de l'éditeur d'algorithme, très orienté, il faut bien le reconnaître...)
/* Program TripletDePythagore*/

/* Program TripletDePythagore*/

/* Supprimer ci-dessous les bibliothéques inutiles */
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <math.h>

/* Complétez ci-dessous la liste de vos variables ( exemple int a,b ou char *c,*d;) */
/* Pour les variables chaînes de caractères, remplacez %d par %s */
/* Pour les variables réelles, (float x,y;) remplacez %d par %f */
/* Il n'existe pas de type boolean en C. IL faut le définir : enum boolean {false,true} */
int a;  /* a^2+b^2=c^2 */
int b;  /* a^2+b^2=c^2 */
int c;  /* a^2+b^2=c^2, si possible ! */
int d;  /* d=a²+b² */
int cpt;  /* Compteur des triplets de Pythagore */

void main(void)
 {
   cpt = 0;
   for ( a =1 ; a <= 100 ; a++)
     for ( b = a ; b <= 100 ; b ++)
     {
       d = pow(a,2) + pow(b,2);
       c = ceil(sqrt(d));
       if (d==pow(c,2) )
       {
         cpt = cpt+1;
         printf("%d %s %d %s %d %s %d \n",cpt,"   a = ",a,"   b = ",b,"   c = ",c);
       }
     }
   }

Langage Basic

'Program TripletDePythagore

Complétez les lignes suivantes si nécessaire (pas d'accent)
DefInt A-Z

  cpt = 0
  FOR a = 1 TO 100
    FOR b = a TO 100
      d = a * a + b * b
      c = INT(SQR(d))
      IF d = c * c THEN
        cpt = cpt + 1
        PRINT cpt, "   a = ", a, "   b = ", b, "   c = ", c
      END IF
    NEXT
  NEXT

Retour  en haut de page

Retour au sommaire