RosettaCodeData/Task/Perfect-numbers/PL-I/perfect-numbers.pli

12 lines
226 B
Plaintext

perfect: procedure (n) returns (bit(1));
declare n fixed;
declare sum fixed;
declare i fixed binary;
sum = 0;
do i = 1 to n-1;
if mod(n, i) = 0 then sum = sum + i;
end;
return (sum=n);
end perfect;