38 lines
597 B
Text
38 lines
597 B
Text
program taunum;
|
|
(* Tau number *)
|
|
var
|
|
i, c: integer;
|
|
|
|
(* Return the Tau (number of divisors) of n *)
|
|
unit tau: function (n: integer): integer;
|
|
var
|
|
i, t: integer;
|
|
begin
|
|
if n < 3
|
|
then
|
|
t := n
|
|
else
|
|
t := 2;
|
|
for i := 2 to (n + 1) div 2
|
|
do
|
|
if n mod i = 0 then t := t + 1 fi
|
|
od;
|
|
fi;
|
|
result := t
|
|
end tau;
|
|
|
|
begin
|
|
writeln("First 100 Tau numbers:");
|
|
c := 0;
|
|
i := 1;
|
|
while c < 100
|
|
do
|
|
if i mod tau(i) = 0
|
|
then
|
|
write(i: 5);
|
|
c := c + 1;
|
|
if c mod 10 = 0 then writeln fi;
|
|
fi;
|
|
i := i + 1;
|
|
od;
|
|
end
|