40 lines
1.0 KiB
Plaintext
40 lines
1.0 KiB
Plaintext
REM PRINT THE DATA FOR N=1 TO 25
|
|
LET N = 0
|
|
10 LET N = N + 1
|
|
IF N = 26 THEN GOTO 100
|
|
GOSUB 1000
|
|
IF T = N - 1 THEN LET P = 1
|
|
IF T <> N - 1 THEN LET P = 0
|
|
PRINT N," ", T," ",P
|
|
GOTO 10
|
|
100 REM COUNT PRIMES BELOW 10000
|
|
LET C = 0
|
|
LET N = 2
|
|
110 GOSUB 1000
|
|
IF T = N - 1 THEN LET C = C + 1
|
|
IF N = 100 THEN PRINT "There are ", C, " primes below 100."
|
|
IF N = 1000 THEN PRINT "There are ", C, " primes below 1000."
|
|
IF N = 10000 THEN PRINT "There are ", C, " primes below 10000."
|
|
LET N = N + 1
|
|
IF N < 10001 THEN GOTO 110
|
|
END
|
|
1000 REM TOTIENT FUNCTION OF INTEGER N
|
|
LET M = 1
|
|
LET T = 0
|
|
1010 IF M > N THEN RETURN
|
|
LET A = N
|
|
LET B = M REM NEED TO RENAME THESE SO THEY ARE PRESERVED
|
|
GOSUB 2000
|
|
IF G = 1 THEN LET T = T + 1
|
|
LET M = M + 1
|
|
GOTO 1010
|
|
2000 REM GCD OF INTEGERS A, B
|
|
2010 IF A>B THEN GOTO 2020
|
|
LET B = B - A
|
|
IF A=0 THEN LET G = B
|
|
IF A=0 THEN RETURN
|
|
2020 LET S = A
|
|
LET A = B
|
|
LET B = S
|
|
GOTO 2010
|