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}}== |