Solve hanging lantern problem: Difference between revisions
Content added Content deleted
(→{{header|Commodore BASIC}}: Add implementation.) |
|||
Line 45: | Line 45: | ||
…… |
…… |
||
=={{header|Commodore BASIC}}== |
|||
{{trans|Python}} |
|||
<lang basic>100 PRINT CHR$(147);CHR$(18);"*** HANGING LANTERN PROBLEM ***" |
|||
110 INPUT "HOW MANY COLUMNS "; N |
|||
120 DIM NL(N-1):T=0 |
|||
130 FOR I=0 TO N-1 |
|||
140 : PRINT "HOW MANY LANTERNS IN COLUMN"I+1; |
|||
150 : INPUT NL(I):T=T+NL(I) |
|||
160 NEXT I |
|||
170 DIM I(T),R(T) |
|||
180 SP=0 |
|||
190 GOSUB 300 |
|||
200 PRINT R(0) |
|||
220 END |
|||
300 R(SP)=0 |
|||
310 I(SP)=0 |
|||
320 IF I(SP)=N THEN 420 |
|||
330 IF NL(I(SP))=0 THEN 400 |
|||
340 NL(I(SP))=NL(I(SP))-1 |
|||
350 SP=SP+1 |
|||
360 GOSUB 300 |
|||
370 R(SP-1)=R(SP-1)+R(SP) |
|||
380 SP=SP-1 |
|||
390 NL(I(SP))=NL(I(SP))+1 |
|||
400 I(SP)=I(SP)+1 |
|||
410 GOTO 320 |
|||
420 IF R(SP)=0 THEN R(SP)=1 |
|||
430 RETURN</lang> |
|||
{{Out}} |
|||
<pre>*** HANGING LANTERN PROBLEM *** |
|||
HOW MANY COLUMNS ? 4 |
|||
HOW MANY LANTERNS IN COLUMN 1 ? 1 |
|||
HOW MANY LANTERNS IN COLUMN 2 ? 2 |
|||
HOW MANY LANTERNS IN COLUMN 3 ? 3 |
|||
HOW MANY LANTERNS IN COLUMN 4 ? 4 |
|||
12600</pre> |
|||
=={{header|Julia}}== |
=={{header|Julia}}== |