Tau number: Difference between revisions
Content added Content deleted
Basicgames (talk | contribs) |
Deadmarshal (talk | contribs) (Added Oberon-2) |
||
Line 1,743: | Line 1,743: | ||
600 612 625 632 636 640 664 672 684 708 712 720 732 776 792 804 808 824 828 852 |
600 612 625 632 636 640 664 672 684 708 712 720 732 776 792 804 808 824 828 852 |
||
856 864 872 876 880 882 896 904 936 948 972 996 1016 1040 1044 1048 1056 1068 1089 1096</pre> |
856 864 872 876 880 882 896 904 936 948 972 996 1016 1040 1044 1048 1056 1068 1089 1096</pre> |
||
=={{header|Oberon-2}}== |
|||
{{trans|Modula-2}} |
|||
<syntaxhighlight lang="oberon2">MODULE TauNumbers; |
|||
IMPORT Out; |
|||
CONST |
|||
MaxNum = 1100; |
|||
NumTau = 100; |
|||
VAR |
|||
divcount: ARRAY MaxNum OF LONGINT; (* enough to generate 100 Tau numbers *) |
|||
seen,n:LONGINT; (* how many Tau numbers to generate *) |
|||
(* Find the amount of divisors for each number beforehand *) |
|||
PROCEDURE CountDivisors; |
|||
VAR i,j:LONGINT; |
|||
BEGIN |
|||
FOR i := 0 TO LEN(divcount)-1 DO divcount[i] := 1 END; |
|||
FOR i := 2 TO LEN(divcount)-1 DO |
|||
j := i; |
|||
WHILE j <= LEN(divcount)-1 DO (* j is divisible by i *) |
|||
INC(divcount[j]); |
|||
INC(j,i) (* next multiple of i *) |
|||
END |
|||
END; |
|||
END CountDivisors; |
|||
BEGIN |
|||
CountDivisors; |
|||
n := 1; |
|||
seen := 0; |
|||
WHILE seen < NumTau DO |
|||
IF n MOD divcount[n] = 0 THEN |
|||
Out.Int(n,5); |
|||
INC(seen); |
|||
IF seen MOD 10 = 0 THEN Out.Ln END |
|||
END; |
|||
INC(n) |
|||
END |
|||
END TauNumbers. |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre> 1 2 8 9 12 18 24 36 40 56 |
|||
60 72 80 84 88 96 104 108 128 132 |
|||
136 152 156 180 184 204 225 228 232 240 |
|||
248 252 276 288 296 328 344 348 360 372 |
|||
376 384 396 424 441 444 448 450 468 472 |
|||
480 488 492 504 516 536 560 564 568 584 |
|||
600 612 625 632 636 640 664 672 684 708 |
|||
712 720 732 776 792 804 808 824 828 852 |
|||
856 864 872 876 880 882 896 904 936 948 |
|||
972 996 1016 1040 1044 1048 1056 1068 1089 1096 |
|||
</pre> |
|||
=={{header|Pascal}}== |
=={{header|Pascal}}== |