McNuggets problem: Difference between revisions
Content added Content deleted
Not a robot (talk | contribs) (Add FOCAL) |
Not a robot (talk | contribs) (Add PL/M) |
||
Line 1,205: | Line 1,205: | ||
(nuggets1 100) |
(nuggets1 100) |
||
(nuggets2 100) ) )</lang> |
(nuggets2 100) ) )</lang> |
||
=={{header|PL/M}}== |
|||
<lang plm>100H: |
|||
BDOS: PROCEDURE (FN, ARG); DECLARE FN BYTE, ARG ADDRESS; GO TO 5; END BDOS; |
|||
EXIT: PROCEDURE; CALL BDOS(0,0); END EXIT; |
|||
PRINT: PROCEDURE (S); DECLARE S ADDRESS; CALL BDOS(9, S); END PRINT; |
|||
PRINT$NUMBER: PROCEDURE (N); |
|||
DECLARE S (6) BYTE INITIAL ('...',13,10,'$'); |
|||
DECLARE P ADDRESS, (N, C BASED P) BYTE; |
|||
P = .S(3); |
|||
DIGIT: |
|||
P = P-1; |
|||
C = N MOD 10 + '0'; |
|||
N = N/10; |
|||
IF N>0 THEN GO TO DIGIT; |
|||
CALL PRINT(P); |
|||
END PRINT$NUMBER; |
|||
DECLARE (A, B, C) BYTE; |
|||
DECLARE NUGGET (101) BYTE; |
|||
DO A=0 TO 100; NUGGET(A) = 0; END; |
|||
DO A=0 TO 100 BY 6; |
|||
DO B=A TO 100 BY 9; |
|||
DO C=B TO 100 BY 20; |
|||
NUGGET(C) = -1; |
|||
END; |
|||
END; |
|||
END; |
|||
A = 100; |
|||
DO WHILE NUGGET(A); A = A-1; END; |
|||
CALL PRINT$NUMBER(A); |
|||
CALL EXIT; |
|||
EOF</lang> |
|||
{{out}} |
|||
<pre>43</pre> |
|||
=={{header|PowerShell}}== |
=={{header|PowerShell}}== |