Anti-primes: Difference between revisions

Added Modula-3
Tag: Made through Tor
(Added Modula-3)
Tag: Made through Tor
Line 2,353:
{{out}}
<pre>{1,2,4,6,12,24,36,48,60,120,180,240,360,720,840,1260,1680,2520,5040,7560,10080,15120,20160,25200,27720}</pre>
 
 
=={{header|Modula-2}}==
Line 2,393 ⟶ 2,392:
<pre> 1 2 4 6 12 24 36 48 60 120
180 240 360 720 840 1260 1680 2520 5040 7560</pre>
 
=={{header|Modula-3}}==
{{trans|Modula-2}}
<syntaxhighlight lang="modula3">MODULE AntiPrimes EXPORTS Main;
 
IMPORT IO,Fmt;
 
CONST
Amount = 20;
VAR
Max,Seen,N,F:CARDINAL;
 
PROCEDURE Factors(N:CARDINAL):CARDINAL =
VAR
Facts:CARDINAL;
BEGIN
IF N < 2 THEN RETURN 1 END;
Facts := 2;
FOR Div := 2 TO N DIV 2 DO
IF N MOD Div = 0 THEN INC(Facts) END;
END;
RETURN Facts;
END Factors;
BEGIN
Max := 0;
Seen := 0;
N := 1;
WHILE Seen < Amount DO
F := Factors(N);
IF F > Max THEN
IO.Put(Fmt.F("%5s",Fmt.Int(N)));
Max := F;
INC(Seen);
IF Seen MOD 10 = 0 THEN IO.Put("\n") END;
END;
INC(N);
END;
END AntiPrimes.
</syntaxhighlight>
{{output}}
<pre> 1 2 4 6 12 24 36 48 60 120
180 240 360 720 840 1260 1680 2520 5040 7560</pre>
 
=={{header|Nanoquery}}==
{{trans|C}}
40

edits