1
0
mirror of https://github.com/PDP-10/stacken.git synced 2026-01-26 20:02:17 +00:00
Files
Lars Brinkhoff 6e18f5ebef Extract files from tape images.
Some tapes could not be extracted.
2021-01-29 10:47:33 +01:00

108 lines
3.5 KiB
Plaintext

Program f|r att vrida den ungerska kuben till sitt utg}ngsl{ge.
==============================================================
Programmet skrivet av Hans Riesel.
Programmet startas med "R GAM:KUB"
Kubens olika delar indelas i:
mittbitar, sex st, anger sidans f{rg
h|rnbitar }tta st
kantbitar, 12 st
I programmet betecknas de olika sidornas f{rger med nummer enligt:
1 = vit, 2 = bl}, 3 = r|d, 4 = orange, 5 = gr|n och 6 = gul.
I handeln f|rekommer flera olika f{rgsammans{ttningar av kuber.
Detta program {r utformat f|r en kub av f|ljande utseende:
Med beteckningarna nedan kan kuben ritas upp s} h{r:
d 3
phab med f{rgbeteckningar: 6215
g 4
Eller samma sak uttryckt med ord: H}ller man vit sida mot sig
och bl} upp}t ska orange vara till v{nster och r|tt till h|ger.
Bortre sidan gul och nedre gr|n. Har man andra placeringar av
f{rgerna m}ste man byta beteckning p} f{rgerna p} kuben, vilket
givetvis kan vara sv}rt att genomf|ra.
D} programmet exekveras beg{rs indata f|r en sida i taget. Det ska
anges }tta siffror skilda }t av mellanslag f|r var sida. En sida
matas in i f|ljande ordning:
1 5 2
8 X 6
4 7 3
Antalet m|jliga kombinationer av kuben {r:
2**12 * (8!/2) * 3**7 * (12!/2) = 43 252 003 274 489 856 000.
Kuben antages ha sidorna:
d droit, h|ger
g gauche, v{nster
h haut, |vre
b bas, nedre
a avant, fr{mre
p posterieur, bakre
H|rnen kallas med beteckningarna ovan:
hag -> h1 bag -> h5
hgp -> h2 bgp -> h6
hpd -> h3 bpd -> h7
hda -> h4 bda -> h8
Kantbitarna:
ha -> k1 pd -> k7
hg -> k2 da -> k8
hp -> k3 ba -> k9
hd -> k4 bg -> k10
ag -> k5 bp -> k11
gp -> k6 bd -> k12
s betyder att sidan s skall vridas 1/4 varv medsols, s2 betyder
att den skall vridas 1/2 varv och s3 eller s-1 att den skall
vridas 1/4 varv motsols.
(s)**n betyder att vridningen s ska utf|ras n g}nger.
A, B och C betecknar sinsemellan n{rst}ende sidor. T ex sidorna
a, g och p.
Transformationsformlerna utf|res fr}n v{nster till h|ger.
]terst{llandet av kuben sker i fyra etapper:
1. Kantbitarna p} sina r{tta platser. Vridning 1-10 nedan.
2. Kantbitarna vrids r{tt. Vridning 12-13.
3. H|rnen p} sina r{tta platser. Vridning 14-16.
4. H|rnen vrids r{tt. Vridning 17-18.
1. A Vrid en sida 1/4 varv. (18 olika vridningar m|jliga).
2. AB Vrid tv} n{rliggande sidor 1/4 varv. (270)
3. AB(A-1) Vrid tv} n{rliggande sidor 1/4 varv och f|rsta sidan
tillbaka igen.
4. AB(A-1)(B-1) Vrid tv} n{rliggande sidor 1/4 varv och tillbaka igen.
5. ABC(B-1)(A-1)
6. ABC(B-1)(C-1)(A-1) Vrid tre n{rliggande sidor 1/4 varv och
tillbaka i permuterad ordning.
7. (A2)(B2)(C2)(B2)(C2)(A2)
8. (AB)**3 Vrid tv} n{rliggande sidor v{xelvis tre g}nger.
9. (d-1)(h-1)dhp(h-1)(p-1) Byte av n{rliggande kantbitar k1 och k2.
(Sidoeffekt: V{ndning av k7, byte av h|rnen h1 och h7 samt
vridning av h|rnet h3).
10. Byt kantbitar i samma mittplan.
12. (a-1)ga(g-1)h(g-1)(h-1)g V{ndning av n{rliggande kantbitar k1
och k2. (Sidoeffekt: Byte av h|rnen h1 och h4 samt h2 och h5).
13. V{nd kantbitar i samma mittplan.
14. (ad(a-1)(d-1))**3 Byter h|rnen h1 och h4 samt h7 och h8.
15. Byt tre h|rn, variant 1.
16. Byt tre h|rn, variant 2.
17. ph(p-1)(h-1)(g-1)(p-1)g(a-1)(g-1)pghp(h-1)(p-1)a
Vrider h|rnen h1 och h4.
18. Vrid motst}ende h|rn.
<Slut p} GAM:KUB.HLP 810701/PO>