Perfect numbers: Difference between revisions

Content added Content deleted
(→‎{{header|C}}: prime factors)
(add pascal)
Line 661: Line 661:
(2^61-1)2^(61-1)= 2658455991569831744654692615953842176
(2^61-1)2^(61-1)= 2658455991569831744654692615953842176
(2^89-1)2^(89-1)= 191561942608236107294793378084303638130997321548169216</pre>
(2^89-1)2^(89-1)= 191561942608236107294793378084303638130997321548169216</pre>

=={{header|Pascal}}==
<lang pascal>program PerfectNumbers;

function isPerfect(number: longint): boolean;
var
i, sum: longint;

begin
sum := 1;
for i := 2 to round(sqrt(real(number))) do
if (number mod i = 0) then
sum := sum + i + (number div i);
isPerfect := (sum = number);
end;

var
candidate: longint;
begin
writeln('Perfect numbers from 1 to 33550337:');
for candidate := 2 to 33550337 do
if isPerfect(candidate) then
writeln (candidate, ' is a perfect number.');
end.</lang>

output
<pre>
Perfect numbers from 1 to 33550337:
6 is a perfect number.
28 is a perfect number.
496 is a perfect number.
8128 is a perfect number.
</pre>


=={{header|Perl}}==
=={{header|Perl}}==