day 03! messy code
This commit is contained in:
parent
f7184c9dd1
commit
2188c4ba2b
|
@ -0,0 +1,24 @@
|
|||
NR==1{ n = length($0); print n }
|
||||
{
|
||||
for(i=1; i<=n;i++){
|
||||
c[i] += substr($1,i,1)
|
||||
}
|
||||
}
|
||||
|
||||
END{
|
||||
print NR
|
||||
gamma = ""
|
||||
epsilon = ""
|
||||
g = 0
|
||||
e = 0
|
||||
for(i=1; i<=n; i++){
|
||||
gamma = gamma (c[i]>NR/2)
|
||||
g += lshift(c[i]>NR/2,n-i)
|
||||
epsilon = epsilon (c[i]<NR/2)
|
||||
e += lshift(c[i]<NR/2,n-i)
|
||||
}
|
||||
print gamma, epsilon
|
||||
print g, e, g*e
|
||||
# print
|
||||
|
||||
}
|
|
@ -0,0 +1,73 @@
|
|||
NR==1{ n = length($0); }
|
||||
{
|
||||
a[NR] = $0
|
||||
b[NR] = $0
|
||||
ocount += substr($1,1,1)
|
||||
}
|
||||
|
||||
END{
|
||||
gamma = ""
|
||||
epsilon = ""
|
||||
g = 0
|
||||
e = 0
|
||||
len = NR
|
||||
count = ocount
|
||||
for(nbit = 1; nbit<=n; nbit++){
|
||||
bit = count>=len/2
|
||||
print nbit, "bit", bit
|
||||
delete sel
|
||||
i=1
|
||||
count = 0
|
||||
for(r=1;r<=len;r++){
|
||||
print a[r]
|
||||
if( substr(a[r],nbit,1) == bit ){
|
||||
sel[i] = a[r]
|
||||
count += substr(a[r],nbit+1,1)
|
||||
i++
|
||||
}
|
||||
}
|
||||
delete a
|
||||
for(i=1;i<=length(sel);i++){
|
||||
a[i] = sel[i]
|
||||
}
|
||||
len = length(sel)
|
||||
print length(sel)
|
||||
if (len == 1)
|
||||
break
|
||||
}
|
||||
oxygen = sel[1]
|
||||
|
||||
len = NR
|
||||
count = ocount
|
||||
for(nbit = 1; nbit<=n; nbit++){
|
||||
bit = count<len/2
|
||||
print nbit, "bit", bit
|
||||
delete sel
|
||||
i=1
|
||||
count = 0
|
||||
for(r=1;r<=len;r++){
|
||||
print b[r]
|
||||
if( substr(b[r],nbit,1) == bit ){
|
||||
sel[i] = b[r]
|
||||
count += substr(b[r],nbit+1,1)
|
||||
i++
|
||||
}
|
||||
}
|
||||
delete b
|
||||
for(i=1;i<=length(sel);i++){
|
||||
b[i] = sel[i]
|
||||
}
|
||||
len = length(sel)
|
||||
print length(sel)
|
||||
if (len==1)
|
||||
break
|
||||
}
|
||||
co2 = sel[1]
|
||||
|
||||
print oxygen, co2
|
||||
for(i=1;i<=n;i++){
|
||||
o += lshift( substr(oxygen,i,1), n-i)
|
||||
c += lshift( substr(co2,i,1), n-i)
|
||||
}
|
||||
print o, c, o*c
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
1t:
|
||||
awk -f 03.awk test
|
||||
|
||||
1i:
|
||||
awk -f 03.awk input
|
||||
|
||||
2t:
|
||||
awk -f 03_2.awk test
|
||||
|
||||
2i:
|
||||
awk -f 03_2.awk input
|
||||
|
||||
paste:
|
||||
xclip -sel c -o > test
|
Loading…
Reference in New Issue