Forum INFOMATH
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment : -25%
PC Portable Gamer 16,1” HP Victus 16 – 16 ...
Voir le deal
749.99 €

Exercice corrigé : manipulation des diviseurs d'un nombre

Aller en bas

Exercice corrigé : manipulation des diviseurs d'un nombre Empty Exercice corrigé : manipulation des diviseurs d'un nombre

Message par methodiX Mar 6 Avr - 11:39

ENONCE

Ecrire un programme qui saisit un nombre X entier entre [3, 100]
et calculer la somme de tous ses diviseurs excepté lui même.
Dans le cas où cette somme est égale à N, on dit que N est un nombre
Parfait.

Exemple:
N = 28.
Somme des diviseurs de 28 excepté 28 est: 28.
28 est un nombre parfait.

N=10
Some des diviseurs de 10 excepté 10 est: 8.




Code:
    program ex04;
    uses wincrt;

      procedure Saisie(var X:integer) ;
    begin
        repeat
        write('un entier N = ');
        readln(X);
        until ( X in [3..100])
    end;

   
    procedure SommeDiv(var X:integer);
    var
    i,S:integer;
   
    begin
          S := 0;
          for i:=1 to X-1 do
            if ( X mod i=0) then
                S:= S + i;

          writeln('Somme des diviseurs de ',X,' excepté ',X,' est: ',S);

          if (S = X) then
            writeln(X, ' est un nombre parfait.');
    end;

var
    X :integer;
begin
  Saisie(X);
  SommeDiv(X);

end.

methodiX
methodiX
Admin
Admin

Masculin
Nombre de messages : 1260
Localisation : Le couloir de l'école polytechnique de Tunis
Réputation : 68
Points : 7253
Date d'inscription : 22/03/2007

Feuille de personnage
Capacité linguistique:
Exercice corrigé : manipulation des diviseurs d'un nombre Left_bar_bleue1000/1000Exercice corrigé : manipulation des diviseurs d'un nombre Empty_bar_bleue  (1000/1000)

Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum