How to resolve the algorithm Number names step by step in the Applesoft BASIC programming language
Published on 12 May 2024 09:40 PM
How to resolve the algorithm Number names step by step in the Applesoft BASIC programming language
Table of Contents
Problem Statement
Show how to spell out a number in English. You can use a preexisting implementation or roll your own, but you should support inputs up to at least one million (or the maximum value of your language's default bounded integer type, if that's less). Support for inputs other than positive integers (like zero, negative integers, and floating-point numbers) is optional.
Let's start with the solution:
Step by Step solution about How to resolve the algorithm Number names step by step in the Applesoft BASIC programming language
Source code in the applesoft programming language
10 INPUT "GIMME A NUMBER! "; N
20 GOSUB 100"NUMBER NAME
30 PRINT R$
40 END
100 REMNUMBER NAME
110 IF R$ = "" THEN FOR I = 0 TO 10 : READ S$(I), T$(I), U$(I), V$(I) : NEXT
120 IF N = 0 THEN R$ = "ZERO" : RETURN
130 R$ = "" : D = 10 : C = 100 : M = 1E3
140 A = ABS(N)
150 FOR U = 0 TO D
160 H = A - C * INT(A / C)
170 IF H > 0 AND H < D THEN R$ = S$(H) + " " + R$
180 IF H > 9 AND H < 20 THEN R$ = T$(H - D) + " " + R$
190 IF H > 19 AND H < C THEN S = H - D * INT(H / D) : R$ = U$(INT(H / D)) + MID$("-",1+(S=0),1) + S$(S) + " " + R$
200 H = A - M * INT(A / M)
210 H = INT (H / C)
220 IF H THEN R$ = S$(H) + " HUNDRED " + R$
230 A = INT(A / M)
240 IF A > 0 THEN H = A - M * INT(A / M) : IF H THEN R$ = V$(U) + " " + R$
250 IF A > 0 THEN NEXT U
260 IF N < 0 THEN R$ = "NEGATIVE " + R$
270 RETURN
280 DATA "", "TEN", "", "THOUSAND"
281 DATA "ONE", "ELEVEN", "", "MILLION"
282 DATA "TWO", "TWELVE", "TWENTY", "BILLION"
283 DATA "THREE", "THIRTEEN", "THIRTY", "TRILLION"
284 DATA "FOUR", "FOURTEEN", "FORTY", "QUADRILLION"
285 DATA "FIVE", "FIFTEEN", "FIFTY", "QUINTILLION"
286 DATA "SIX", "SIXTEEN", "SIXTY", "SEXTILLION"
287 DATA "SEVEN", "SEVENTEEN", "SEVENTY", "SEPTILLION"
288 DATA "EIGHT", "EIGHTEEN", "EIGHTY", "OCTILLION"
289 DATA "NINE", "NINETEEN", "NINETY", "NONILLION"
290 DATA "", "", "", "DECILLION"
You may also check:How to resolve the algorithm Smith numbers step by step in the Clojure programming language
You may also check:How to resolve the algorithm Bulls and cows step by step in the Wren programming language
You may also check:How to resolve the algorithm Metallic ratios step by step in the jq programming language
You may also check:How to resolve the algorithm Benford's law step by step in the Factor programming language
You may also check:How to resolve the algorithm Rename a file step by step in the TorqueScript programming language