Anti-primes: Difference between revisions

→‎{{header|PL/0}}: Added a solution.
(→‎{{header|PL/0}}: Added a solution.)
Line 2,880:
5040
7560</pre>
 
=={{header|PL/0}}==
<syntaxhighlight lang="pascal">
var i, n, maxdivcnt, divcnt;
 
procedure countdivs;
var p;
begin
divcnt := 1;
if n > 1 then divcnt := 2;
p := 2;
while p * p < n do
begin
if (n / p) * p = n then divcnt := divcnt + 2;
p := p + 1
end;
if p * p = n then divcnt := divcnt + 1
end;
 
procedure searchnext;
begin
call countdivs;
while divcnt <= maxdivcnt do
begin
n := n + 1;
call countdivs
end
end;
 
begin
i := 1; n := 1; maxdivcnt := 0;
while i <= 20 do
begin
call searchnext;
maxdivcnt := divcnt;
i := i + 1;
! n;
n := n + 1
end
end.
</syntaxhighlight>
{{out}}
<pre>
1
2
4
6
12
24
36
48
60
120
180
240
360
720
840
1260
1680
2520
5040
7560
</pre>
 
=={{header|PL/I}}==
511

edits