Stap 3: code voor XOR-algoritme in base [X]
Ik vind dat ik niet kan alle de wiskunde in mijn hoofd snel genoeg trainen dus heb ik besloten om over te schakelen op de computer. Ik ben een LINUX vent, dus ik ging meteen naar AWK zo snel als ik kon.
Ik schreef een korte script om te testen ten minste de theorie op een basisdossier [10]. Mijn originele papieren versie lijkt te hebben van sommige kwesties, maar in het einde kreeg ik een waarheidstabel dat ik met leven kan.
1) Ik heb een 10-line bestand, één cijfer op elke regel beginnend met 0.
2) Ik schreef een routine te indexeren deze nummers, een invoer accepteren, uitvoeren van het algoritme en spugen het resultaat.
----
#! / bin/bash
# baseX-xor.sh
echo -e $1 $2 | awk ' BEGIN {}
CNT = 1
terwijl (getline < "wheel.txt" > 0)
{
n [CNT] = $0; Ik [$0] = CNT; CNT ++
}
Mylen = CNT-1; mymax = CNT-2
Close("Wheel.txt")
}
{
Pos1 = ik [$1] + 0; pos2 = ik [$2] + 0
if(Pos1==0) pos1 = 1
if(pos2==0) pos2 = 1
resultaat = mymax-pos1-pos2
Als (resultaat < = 0) resultaat = resultaat + mylen
Als (resultaat < = 0) resultaat = resultaat + mylen
Als (resultaat < = 0) resultaat = resultaat + mylen
afdrukken n [resultaat]
}'
----
Toen liep ik een opdrachtregel-script te maken van een waarheidstabel matrix:
----
voor X in 0 1 2 3 4 5 6 7 8 9
doen
voor Y in 0 1 2 3 4 5 6 7 8 9
doen
O='./baseX-XOR.sh $X $Y'
echo -n "$O"
gedaan
ECHO
gedaan
----
0 1 2 3 4 5 6 7 8 9
0 6 5 4 3 2 1 0 9 8 7
1 5 4 3 2 1 0 9 8 7 6
2 4 3 2 1 0 9 8 7 6 5
3 3 2 1 0 9 8 7 6 5 4
4 2 1 0 9 8 7 6 5 4 3
5 1 0 9 8 7 6 5 4 3 2
6 0 9 8 7 6 5 4 3 2 1
7 9 8 7 6 5 4 3 2 1 0
8 8 7 6 5 4 3 2 1 0 9
9 7 6 5 4 3 2 1 0 9 8