i:=length(ch)+1;
repeat
i:=i-1;
v2:=ch[i]<ch[i-1];
until(i=pm+1) or (v2=false);
verif:=v1 and v2;
end;
begin
saisie(n);
if verif(n) then
write(n,' est une pyramide de chiffres')
else
write(n,' n''est pas une pyramide de chiffres');
end.
Exercice 2.
NB : un entier est dit sublime si la somme de ses diviseurs, y compris lui-même, et le nombre de ses
diviseurs sont deux nombres parfaits.
Un entier est dit parfait s’il est égal à la somme de ses diviseurs sauf lui-même.
Exemple :
Pour n=12
La somme des diviseurs de 12 est sd=1+2+3+4+6+12=28
Le nombre des diviseurs de 12 est nd=1,2,3,4,6,12=6
28 et 6 sont les deux parfaits, donc 12 est un nombre sublime
Ecrire un programme qui permet de chercher et d’afficher tous les nombres sublimes inférieurs
ou égaux à 1000.
program sublime;
uses wincrt;
var
n,nd,sd:integer;
procedure diviseur (n:integer; var nd,sd:integer);
var
i:integer;
begin
nd:=2;
sd:=n+1;
for i:=2 to n div 2 do
if n mod i =0 then
begin
nd:=nd+1;
sd:=sd+i;