Sum of square and cube digits of an integer are primes: Difference between revisions
Content added Content deleted
(Dialects of BASIC moved to the BASIC section.) |
m (→{{header|Tiny BASIC}}: Works with (Tom Pittman's) TinyBasic) |
||
Line 178: | Line 178: | ||
==={{header|Tiny BASIC}}=== |
==={{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. |
This can only go up to 31 because 32^3 is too big to fit in a signed 16-bit int. |
||
<syntaxhighlight lang=" |
<syntaxhighlight lang="basic">10 REM Sum of square and cube digits of an integer are primes |
||
REM |
20 REM N, the number to be tested |
||
30 REM D, the digital sum of its square or cube |
|||
REM |
40 REM T, temporary variable |
||
REM |
50 REM Z, did D test as prime or not |
||
60 LET N = 1 |
|||
70 LET T = N * N * N |
|||
80 GOSUB 200 |
|||
90 GOSUB 260 |
|||
100 IF Z = 0 THEN GOTO 160 |
|||
110 LET T = N * N |
|||
120 GOSUB 200 |
|||
130 GOSUB 260 |
|||
140 IF Z = 0 THEN GOTO 160 |
|||
150 PRINT N |
|||
160 IF N = 31 THEN END |
|||
170 LET N = N + 1 |
|||
180 GOTO 70 |
|||
190 REM Calculate sum of digits |
|||
⚫ | |||
200 LET D = 0 |
|||
⚫ | |||
LET D = D + (T-(T/10)*10) |
|||
220 LET D = D + (T - (T / 10) * 10) |
|||
230 LET T = T / 10 |
|||
240 GOTO 210 |
|||
⚫ | |||
250 REM Check if is prime |
|||
⚫ | |||
260 LET Z = 0 |
|||
270 IF D < 2 THEN RETURN |
|||
280 LET Z = 1 |
|||
290 IF D < 4 THEN RETURN |
|||
300 LET Z = 0 |
|||
⚫ | |||
⚫ | |||
⚫ | |||
IF T*T>D THEN GOTO 32 |
|||
⚫ | |||
⚫ | |||
GOTO |
340 IF T * T > D THEN GOTO 370 |
||
350 IF (D / T) * T = D THEN RETURN |
|||
32 LET Z = 1 |
|||
360 GOTO 330 |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
16 |
|||
⚫ | |||
17 |
17 |
||
25 |
25 |