Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
23
Task/Subleq/Mathematica/subleq.math
Normal file
23
Task/Subleq/Mathematica/subleq.math
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
ClearAll[memory, MemoryGet, MemorySet, MemorySubtract]
|
||||
memory = {15, 17, -1, 17, -1, -1, 16, 1, -1, 16, 3, -1, 15, 15, 0,
|
||||
0, -1, 72, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100, 33,
|
||||
10, 0};
|
||||
MemoryGet[addr_] := memory[[addr + 1]]
|
||||
MemorySet[addr_, value_] := memory[[addr + 1]] = value
|
||||
MemorySubtract[addr1_, addr2_] := MemorySet[addr1, MemoryGet[addr1] - MemoryGet[addr2]]
|
||||
p = 0;
|
||||
While[p >= 0,
|
||||
a = MemoryGet[p];
|
||||
b = MemoryGet[p + 1];
|
||||
c = MemoryGet[p + 2];
|
||||
If[b == -1,
|
||||
Print[FromCharacterCode[MemoryGet[a]]]
|
||||
,
|
||||
MemorySubtract[b, a];
|
||||
If[MemoryGet[b] < 1,
|
||||
p = MemoryGet[p + 2];
|
||||
Continue[]
|
||||
]
|
||||
];
|
||||
p += 3;
|
||||
]
|
||||
Loading…
Add table
Add a link
Reference in a new issue