Tau number: Difference between revisions

Added Prolog
(Added Applesoft BASIC)
(Added Prolog)
 
(3 intermediate revisions by the same user not shown)
Line 411:
130 NUM = 0
140 LIMIT = 100
150 IF NUM >= LIMIT THEN GOTO 270230
160 N = N+1
170 TAU = 0
Line 530:
200 IF MOD(N,TAU)=0 THEN LET NUM=NUM+1:PRINT N,
210 LOOP</syntaxhighlight>
 
==={{header|Minimal BASIC}}===
<syntaxhighlight lang="qbasic">10 PRINT "THE FIRST 100 TAU NUMBERS ARE:"
20 LET N = 0
30 LET M = 0
40 LET L = 100
50 IF M >= L THEN 190
60 LET N = N + 1
70 LET T = 0
80 FOR I = 1 TO N
90 IF N - INT(N/I) * I = 0 THEN 110
100 GOTO 120
110 LET T = T + 1
120 NEXT I
130 IF N - INT(N/T) * T = 0 THEN 160
140 GOTO 50
150 STOP
160 LET M = M + 1
170 PRINT N;
180 GOTO 140
190 END</syntaxhighlight>
 
==={{header|MSX Basic}}===
Line 539 ⟶ 560:
130 NUM = 0
140 LIMIT = 100
150 IF NUM > LIMIT THEN GOTO 270230
160 N = N+1
170 TAU = 0
Line 2,427 ⟶ 2,448:
856 864 872 876 880 882 896 904 936 948
972 996 1016 1040 1044 1048 1056 1068 1089 1096</pre>
 
=={{header|Prolog}}==
{{works with|GNU Prolog}}
{{works with|SWI Prolog}}
<syntaxhighlight lang="prolog">tau(N, T) :-
findall(M, (between(1, N, M), 0 is N mod M), Ms),
length(Ms, T).
 
tau_numbers(Limit, Ns) :-
findall(N, (between(1, Limit, N), tau(N, T), 0 is N mod T), Ns).
 
print_tau_numbers :-
tau_numbers(1100, Ns),
writeln("The first 100 tau numbers are:"),
forall(member(N, Ns), format("~d ", [N])).
 
:- print_tau_numbers.</syntaxhighlight>
 
=={{header|PureBasic}}==
{{trans|FreeBasic}}<syntaxhighlight lang="purebasic">OpenConsole()
<syntaxhighlight lang="purebasic">OpenConsole()
 
Procedure.i numdiv(n)
2,130

edits