Sum of square and cube digits of an integer are primes: Difference between revisions
Content added Content deleted
(add FreeBASIC) |
(add tinybasic) |
||
Line 146: | Line 146: | ||
done... |
done... |
||
</pre> |
</pre> |
||
=={{header|TinyBASIC}}== |
|||
This can only go up to 31 because 32^3 is too big to fit in a signed 16-bit int. |
|||
<lang tinybasic>REM N, the number to be tested |
|||
REM D, the digital sum of its square or cube |
|||
REM T, temporary variable |
|||
REM Z, did D test as prime or not |
|||
LET N = 1 |
|||
10 LET T = N*N*N |
|||
GOSUB 20 |
|||
GOSUB 30 |
|||
IF Z = 0 THEN GOTO 11 |
|||
LET T = N*N |
|||
GOSUB 20 |
|||
GOSUB 30 |
|||
IF Z = 0 THEN GOTO 11 |
|||
PRINT N |
|||
11 IF N = 31 THEN END |
|||
LET N = N + 1 |
|||
GOTO 10 |
|||
20 LET D = 0 |
|||
21 IF T = 0 THEN RETURN |
|||
LET D = D + (T-(T/10)*10) |
|||
LET T = T/10 |
|||
GOTO 21 |
|||
30 LET Z = 0 |
|||
IF D < 2 THEN RETURN |
|||
LET Z = 1 |
|||
IF D < 4 THEN RETURN |
|||
LET Z = 0 |
|||
IF (D/2)*2 = D THEN RETURN |
|||
LET T = 1 |
|||
31 LET T = T + 2 |
|||
IF T*T>D THEN GOTO 32 |
|||
IF (D/T)*T=D THEN RETURN |
|||
GOTO 31 |
|||
32 LET Z = 1 |
|||
RETURN</lang> |
|||
{{out}}<pre> |
|||
16 |
|||
17 |
|||
25 |
|||
28</pre> |
|||
=={{header|Wren}}== |
=={{header|Wren}}== |