Jump to content

Sum of square and cube digits of an integer are primes: Difference between revisions

m
→‎{{header|Tiny BASIC}}: Works with (Tom Pittman's) TinyBasic
(Dialects of BASIC moved to the BASIC section.)
m (→‎{{header|Tiny BASIC}}: Works with (Tom Pittman's) TinyBasic)
Line 178:
 
==={{header|Tiny BASIC}}===
{{works with|TinyBasic}}
This can only go up to 31 because 32^3 is too big to fit in a signed 16-bit int.
<syntaxhighlight lang="tinybasicbasic">10 REM Sum of square and cube N,digits theof numberan tointeger beare testedprimes
20 REM DN, the digital sum of itsnumber squareto orbe cubetested
30 REM D, the digital sum of its square or cube
40 REM T, temporary variable
50 REM Z, did D test as prime or not
 
60 LET N = 1
1070 LET T = N * N * N
80 GOSUB 20200
90 GOSUB 30260
100 IF Z = 0 THEN GOTO 11160
110 LET T = N * N
120 GOSUB 20200
130 GOSUB 30260
140 IF Z = 0 THEN GOTO 11160
150 PRINT N
11160 IF N = 31 THEN END
170 LET N = N + 1
180 GOTO 1070
190 REM Calculate sum of digits
20 LET D = 0
21200 IFLET TD = 0 THEN RETURN
210 IF DT <= 20 THEN RETURN
LET D = D + (T-(T/10)*10)
220 LET D = LETD + (T =- (T / 10) * 10)
230 LET T = GOTOT 21/ 10
240 GOTO 210
30 LET Z = 0
250 REM Check if is prime
IF D < 2 THEN RETURN
260 LET Z = 10
270 IF D < 42 THEN RETURN
280 LET Z = 01
290 IF (D/2)*2 =< D4 THEN RETURN
300 LET TZ = 10
310 IF (D /T 2) *T 2 = D THEN RETURN
31 LET T = T + 2
20320 LET DT = 01
IF T*T>D THEN GOTO 32
31330 LET T = T + 2
IF (D/T)*T=D THEN RETURN
340 IF T * T > D THEN GOTO 31370
350 IF (D / T) * T = D THEN RETURN
32 LET Z = 1
360 GOTO 330
RETURN</syntaxhighlight>
30370 LET Z = 01
{{out}}<pre>
380 RETURN</syntaxhighlight>
16
{{out}}<pre>16
17
25
512

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.