Day 3
This commit is contained in:
29
03/01.sh
Executable file
29
03/01.sh
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/bin/bash
|
||||
|
||||
length=0
|
||||
n_array=()
|
||||
lines_number=0
|
||||
while read line; do
|
||||
if [ $length -eq 0 ]; then
|
||||
length=${#line}
|
||||
n_array=($(for j in $(seq $length); do echo 0; done))
|
||||
fi
|
||||
for i in $(seq $length); do
|
||||
curr_bit=${line:$((i-1)):1}
|
||||
n_array[$((i-1))]=$((n_array[i-1]+curr_bit))
|
||||
done
|
||||
lines_number=$((lines_number+1))
|
||||
done
|
||||
|
||||
gamma_rate=''
|
||||
epsilon_rate=''
|
||||
for i in $(seq $length); do
|
||||
if [ ${n_array[$((i-1))]} -ge $((lines_number/2)) ]; then
|
||||
gamma_rate=${gamma_rate}1
|
||||
epsilon_rate=${epsilon_rate}0
|
||||
else
|
||||
gamma_rate=${gamma_rate}0
|
||||
epsilon_rate=${epsilon_rate}1
|
||||
fi
|
||||
done
|
||||
echo "ibase=2;obase=A;$gamma_rate*$epsilon_rate"|bc
|
||||
Reference in New Issue
Block a user