Data update

This commit is contained in:
Ingy döt Net 2023-07-01 19:04:33 -04:00
parent 8f05c7136f
commit 0bf4da02c3
82 changed files with 2194 additions and 118 deletions

View file

@ -27,5 +27,3 @@ do
endif
loop num < nums
end

View file

@ -0,0 +1,39 @@
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.

View file

@ -0,0 +1,32 @@
10 let count = 0
20 let num = 0
30 let modulus = 0
40 let nums = 100
50 let tau = 0
60 rem do
70 let count = count + 1
80 let tau = 0
90 let modulus = 1
100 rem do
100 if count mod modulus <> 0 then 130
120 let tau = tau + 1
130 rem endif
140 let modulus = modulus + 1
150 if modulus < count + 1 then 100
160 if count mod tau <> 0 then 190
170 let num = num + 1
180 print count, tab,
190 rem endif
200 if num < nums then 60