Data update
This commit is contained in:
parent
35bcdeebf8
commit
74c69a0df6
2427 changed files with 31826 additions and 3468 deletions
43
Task/McNuggets-problem/8080-Assembly/mcnuggets-problem.8080
Normal file
43
Task/McNuggets-problem/8080-Assembly/mcnuggets-problem.8080
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
org 100h
|
||||
lxi h,200h ; Zero out a page to keep nugget flags
|
||||
xra a
|
||||
znugs: mov m,a
|
||||
inr l
|
||||
jnz znugs
|
||||
lxi b,101 ; B = 6 stepper, C = 101 (limit)
|
||||
loopa: mov d,b ; D = 9 stepper
|
||||
loopb: mov l,d ; L = 20 stepper
|
||||
loopc: inr m ; Mark nugget
|
||||
mvi a,20 ; 20 step
|
||||
add l
|
||||
mov l,a
|
||||
cmp c
|
||||
jc loopc
|
||||
mvi a,9 ; 9 step
|
||||
add d
|
||||
mov d,a
|
||||
cmp c
|
||||
jc loopb
|
||||
mvi a,6 ; 6 step
|
||||
add b
|
||||
mov b,a
|
||||
cmp c
|
||||
jc loopa
|
||||
mov l,c ; Find largest number not seen
|
||||
scan: dcr l
|
||||
dcr m
|
||||
jp scan
|
||||
mov a,l
|
||||
mvi b,'0'-1 ; B = high digit
|
||||
digit: inr b
|
||||
sui 10
|
||||
jnc digit
|
||||
adi '0'+10 ; A = low digit
|
||||
lxi h,digits+1
|
||||
mov m,a ; Store digits
|
||||
dcx h
|
||||
mov m,b
|
||||
xchg
|
||||
mvi c,9 ; CP/M print string
|
||||
jmp 5
|
||||
digits: db 0,0,'$' ; Placeholder for output
|
||||
17
Task/McNuggets-problem/EasyLang/mcnuggets-problem.easy
Normal file
17
Task/McNuggets-problem/EasyLang/mcnuggets-problem.easy
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
len l[] 100
|
||||
for a = 0 to 100 div 6
|
||||
for b = 0 to 100 div 9
|
||||
for c = 0 to 100 div 20
|
||||
n = a * 6 + b * 9 + c * 20
|
||||
if n >= 1 and n <= 100
|
||||
l[n] = 1
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
for n = 100 downto 1
|
||||
if l[n] = 0
|
||||
print n
|
||||
break 1
|
||||
.
|
||||
.
|
||||
22
Task/McNuggets-problem/Gambas/mcnuggets-problem.gambas
Normal file
22
Task/McNuggets-problem/Gambas/mcnuggets-problem.gambas
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
Public l[101] As Integer
|
||||
|
||||
Public Sub Main()
|
||||
|
||||
Dim a As Integer, b As Integer, c As Integer, n As Integer
|
||||
|
||||
For a = 0 To 100 / 6
|
||||
For b = 0 To 100 / 9
|
||||
For c = 0 To 100 / 20
|
||||
n = a * 6 + b * 9 + c * 20
|
||||
If n <= 100 Then l[n] = True
|
||||
Next
|
||||
Next
|
||||
Next
|
||||
For n = 100 To 1 Step -1
|
||||
If Not l[n] Then
|
||||
Print "Maximum non-McNuggets number is: "; n
|
||||
Break
|
||||
End If
|
||||
Next
|
||||
|
||||
End
|
||||
35
Task/McNuggets-problem/MACRO-11/mcnuggets-problem.macro11
Normal file
35
Task/McNuggets-problem/MACRO-11/mcnuggets-problem.macro11
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
.TITLE NUGGET
|
||||
.MCALL .TTYOUT,.EXIT
|
||||
NUGGET::MOV #^D50,R1
|
||||
MOV #NUGBUF,R0
|
||||
CLEAR: CLR (R0)+ ; CLEAR BUFFER
|
||||
SOB R1,CLEAR
|
||||
MARK: MOV #^D100,R5 ; R5 = LIMIT
|
||||
CLR R0 ; R0 = 6 STEPPER
|
||||
1$: MOV R0,R1 ; R1 = 9 STEPPER
|
||||
2$: MOV R1,R2 ; R2 = 20 STEPPER
|
||||
3$: INCB NUGBUF(R2) ; MARK
|
||||
ADD #^D20,R2 ; 20 STEP
|
||||
CMP R2,R5
|
||||
BLT 3$
|
||||
ADD #^D9,R1 ; 9 STEP
|
||||
CMP R1,R5
|
||||
BLT 2$
|
||||
ADD #^D6,R0 ; 6 STEP
|
||||
CMP R0,R5
|
||||
BLT 1$
|
||||
SCAN: MOV #NUGBUF+^D100,R0
|
||||
1$: DEC R5
|
||||
MOVB -(R0),R1
|
||||
BNE 1$
|
||||
DIGIT: MOV #'0-1,R0 ; SPLIT DIGITS
|
||||
1$: INC R0
|
||||
SUB #^D10,R5
|
||||
BCC 1$
|
||||
.TTYOUT ; HIGH DIGIT
|
||||
MOV R5,R0
|
||||
ADD #'0+^D10,R0
|
||||
.TTYOUT ; LOW DIGIT
|
||||
.EXIT
|
||||
NUGBUF: .BLKB ^D100
|
||||
.END NUGGET
|
||||
12
Task/McNuggets-problem/MiniScript/mcnuggets-problem.mini
Normal file
12
Task/McNuggets-problem/MiniScript/mcnuggets-problem.mini
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
n = range(0, 100)
|
||||
for six in range(0, 100, 6)
|
||||
for nine in range(0, 100, 9)
|
||||
for twenty in range(0, 100, 20)
|
||||
mcnuggets = six + nine + twenty
|
||||
ix = n.indexOf(mcnuggets)
|
||||
if ix != null then n.remove(ix)
|
||||
end for
|
||||
end for
|
||||
end for
|
||||
|
||||
print "The largest non-McNugget number is " + n[-1]
|
||||
28
Task/McNuggets-problem/Pascal/mcnuggets-problem.pas
Normal file
28
Task/McNuggets-problem/Pascal/mcnuggets-problem.pas
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
program McNuggets;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
const
|
||||
ARRAY_SIZE_STEP = 20; // small, to demonstrate extending array dynamically
|
||||
var
|
||||
i, nr_consec : integer;
|
||||
can_do : array of boolean;
|
||||
begin
|
||||
SetLength( can_do, ARRAY_SIZE_STEP);
|
||||
can_do[0] := true;
|
||||
nr_consec := 0;
|
||||
i := 0;
|
||||
repeat
|
||||
inc(i);
|
||||
if i >= Length( can_do) then SetLength( can_do, i + ARRAY_SIZE_STEP);
|
||||
can_do[i] := ((i >= 6) and can_do[i - 6])
|
||||
or ((i >= 9) and can_do[i - 9])
|
||||
or ((i >= 20) and can_do[i - 20]);
|
||||
if can_do[i] then begin
|
||||
if can_do[i - 1] then inc( nr_consec)
|
||||
else nr_consec := 1;
|
||||
end
|
||||
else nr_consec := 0;
|
||||
until nr_consec = 6;
|
||||
WriteLn ('Max that can''t be represented is ', i - 6);
|
||||
end.
|
||||
8
Task/McNuggets-problem/SETL/mcnuggets-problem.setl
Normal file
8
Task/McNuggets-problem/SETL/mcnuggets-problem.setl
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
program mcnuggets;
|
||||
nuggets := +/+/ {{{ x + y + z
|
||||
: x in [0, 6..100] }
|
||||
: y in [0, 9..100] }
|
||||
: z in [0, 20..100] };
|
||||
|
||||
print(max/{n : n in [1..100] | not n in nuggets});
|
||||
end program;
|
||||
22
Task/McNuggets-problem/True-BASIC/mcnuggets-problem.basic
Normal file
22
Task/McNuggets-problem/True-BASIC/mcnuggets-problem.basic
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
OPTION BASE 0
|
||||
DIM nuggets(100)
|
||||
FOR n = 0 TO 100
|
||||
LET nuggets(n) = 0
|
||||
NEXT n
|
||||
|
||||
FOR six = 0 TO 100/6
|
||||
FOR nine = 0 TO 100/9
|
||||
FOR twenty = 0 TO 100/20
|
||||
LET n = six*6 + nine*9 + twenty*20
|
||||
IF n <= 100 THEN LET nuggets(n) = 1
|
||||
NEXT twenty
|
||||
NEXT nine
|
||||
NEXT six
|
||||
|
||||
FOR n = 100 TO 1 STEP -1
|
||||
IF nuggets(n) <> 1 THEN
|
||||
PRINT "Maximum non-McNuggets number is: "; n
|
||||
EXIT FOR
|
||||
END IF
|
||||
NEXT n
|
||||
END
|
||||
Loading…
Add table
Add a link
Reference in a new issue