Erdős-primes: Difference between revisions

→‎{{header|Tiny BASIC}}: Simplified and corrected. K! is calculated from (K - 1)!, not from the beginning. Now, there are displayed all 25 Erdős primes smaller than 2500 (previously, only 22).
(→‎{{header|Tiny BASIC}}: Works with (Tom Pittman's) TinyBasic.)
(→‎{{header|Tiny BASIC}}: Simplified and corrected. K! is calculated from (K - 1)!, not from the beginning. Now, there are displayed all 25 Erdős primes smaller than 2500 (previously, only 22).)
Line 290:
<syntaxhighlight lang="basic">10 REM Erdős-primes
20 LET P = 1
30 IF P > 2 THEN LET PC = P + 20
40 IF P <> 32 THEN LET P = P + 12
50 IF P < 3 THEN LET ZP = P + 1
60 GOSUBLET 1000Z = P
70 GOSUB 1000
70 IF A = 0 THEN GOTO 30
80 LETIF KA = 0 THEN GOTO 40
90 LET K = K + 10
100 GOSUBLET 2000F = 1
110 LET ZK = PK -+ F1
120 IFREM ZF <= 0 THEN GOTO 170K!
130 GOSUBLET 1000F = F * K
140 IFLET AZ = 1P THEN LET E =- 0F
150 IF AZ =< 10 THEN GOTO 30200
160 GOTOGOSUB 901000
170 LETIF CA = C1 +THEN 1LET E = 0
180 IF PA <= 25001 THEN PRINTGOTO C, " ", P40
2050190 GOTO 2020110
190 IF P > 2500 THEN END
200 GOTOLET 30C = C + 1
190210 IF P >< 2500 THEN ENDPRINT C, " ", P
70220 IF AP => 02500 THEN GOTO 30END
230 GOTO 40
 
990 REM primality of Z by trial division, result is in A
Line 314 ⟶ 317:
1020 IF Z = 2 THEN LET A = 1
1030 IF Z < 3 THEN RETURN
1040 LET Y = Y + 21
1050 IF (Z / Y) * Y = Z THEN RETURN
1060 IF Y * Y < Z THEN GOTO 1040
1070 LET A = 1
1080 RETURN</syntaxhighlight>
 
1990 REM factorial of K, result is in F
2000 LET A = 1
2010 LET F = 1
2020 LET F = F * A
2030 IF A = K THEN RETURN
2040 LET A = A + 1
2050 GOTO 2020
 
3000 REM TODO: Simplify. K! can be calculated from (K - 1)!.</syntaxhighlight>
{{out}}
<pre>1 2
Line 337 ⟶ 330:
6 419
7 461
8 673557
9 709673
10 769709
11 937769
12 967937
13 1009967
14 12011009
15 12591201
16 17091259
17 18311709
18 21411831
19 22211889
20 23512141
21 24112221
22 24372309
23 2351
24 2411
25 2437
</pre>
 
512

edits