Upside-down numbers: Difference between revisions
Content added Content deleted
(→{{header|Applesoft BASIC}}: flagged as incorrect) |
m (added R = R + .5 to correct the results) |
||
Line 156: | Line 156: | ||
==={{header|Applesoft BASIC}}=== |
==={{header|Applesoft BASIC}}=== |
||
{{incorrect}} |
|||
{{incorrect|Applesoft BASIC|11009, 21008, and 31007 in the first fifty upside down numbers should be 2198, 3917, and 4196 respectively.}} |
|||
Beyond 9 digits, rounding errors occur. |
Beyond 9 digits, rounding errors occur. |
||
<syntaxhighlight lang="basic"> 1 PRINT "THE FIRST 50 UPSIDE DOWN NUMBERS:": FOR I = 1 TO 50: GOSUB 4: NEXT I: PRINT |
<syntaxhighlight lang="basic"> 1 PRINT "THE FIRST 50 UPSIDE DOWN NUMBERS:": FOR I = 1 TO 50: GOSUB 4: NEXT I: PRINT |
||
2 FOR J = 2 TO 10::I = INT (5 * 10 ^ J): PRINT CHR$ (13)I"TH: ";: GOSUB 4: NEXT J |
2 FOR J = 2 TO 10::I = INT (5 * 10 ^ J): PRINT CHR$ (13)I"TH: ";: GOSUB 4: NEXT J |
||
3 END |
3 END |
||
4 GOSUB 5: PRINT O$;: RETURN |
4 GOSUB 5: PRINT O$;: RETURN |
||
5 IF I > = 1E9 THEN PRINT "?OVERFLOW" + CHR$ (7): END |
5 IF I > = 1E9 THEN PRINT "?OVERFLOW" + CHR$ (7): END |
||
6 L$ = "":R$ = "":S = I - 1:F = 1:I$(1) = "5": FOR E = 0 TO 1E38: FOR O = F TO 1:R = S:S = S - INT (9 ^ E):F = 0: IF S > = 0 THEN NEXT O,E |
6 L$ = "":R$ = "":S = I - 1:F = 1:I$(1) = "5": FOR E = 0 TO 1E38: FOR O = F TO 1:R = S:S = S - INT (9 ^ E):F = 0: IF S > = 0 THEN NEXT O,E |
||
7 IF E THEN FOR D = E - 1 TO 0 STEP - 1:N = INT (R / 9 ^ D):L$ = L$ + STR$ (N + 1):R$ = STR$ (9 - N) + R$:R = R - N * INT (9 ^ D): NEXT D |
7 IF E THEN R = R + .5: FOR D = E - 1 TO 0 STEP - 1:N = INT (R / 9 ^ D):L$ = L$ + STR$ (N + 1):R$ = STR$ (9 - N) + R$:R = R - N * INT (9 ^ D): NEXT D |
||
8 O$ = L$ + I$(O) + R$ + " " |
8 O$ = L$ + I$(O) + R$ + " " |
||
9 RETURN |
9 RETURN |
||
</syntaxhighlight> |
|||
{{out}} |
{{out}} |
||
<pre>THE FIRST 50 UPSIDE DOWN NUMBERS: |
<pre>THE FIRST 50 UPSIDE DOWN NUMBERS: |
||
5 19 28 37 46 55 64 73 82 91 159 258 357 456 555 654 753 852 951 1199 1289 1379 1469 1559 1649 1739 1829 1919 |
5 19 28 37 46 55 64 73 82 91 159 258 357 456 555 654 753 852 951 1199 1289 1379 1469 1559 1649 1739 1829 1919 2198 2288 2378 2468 2558 2648 2738 2828 2918 3197 3287 3377 3467 3557 3647 3737 3827 3917 4196 4286 4376 4466 |
||
500TH: 494616 |
500TH: 494616 |
||
Line 179: | Line 180: | ||
50000000TH: 9285587463255281 |
50000000TH: 9285587463255281 |
||
500000000TH: 1436368345672474769 |
500000000TH: 1436368345672474769 |
||
5E+09TH: ?OVERFLOW |
5E+09TH: ?OVERFLOW |
||
</pre> |
|||
==={{header|FreeBASIC}}=== |
==={{header|FreeBASIC}}=== |