diff --git a/03/03.awk b/03/03.awk new file mode 100644 index 0000000..fa80012 --- /dev/null +++ b/03/03.awk @@ -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]=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 test