master
Dominika Liberda 2021-12-03 11:57:56 +01:00
parent f8ae840a05
commit 5ba8af548c
2 changed files with 81 additions and 0 deletions

32
3_1.sh Executable file
View File

@ -0,0 +1,32 @@
#!/bin/bash
arr=()
gamma=''
epsilon=''
while read line; do
arr+=("$line")
done
for ((j=0; j<${#arr[0]}; j++)); do
zeroes=0
ones=0
for ((i=0; i<${#arr[@]}; i++)); do
if [[ "$(cut -c $((j+1)) <<< "${arr[$i]}")" == *"0"* ]]; then # lazy
zeroes=$((zeroes+1))
else
ones=$((ones+1))
fi
done
if [[ $zeroes -gt $ones ]]; then
gamma=${gamma}0
epsilon=${epsilon}1
else
gamma=${gamma}1
epsilon=${epsilon}0
fi
done
gamma_=$((2#$gamma))
epsilon_=$((2#$epsilon))
echo "result: $((gamma_*epsilon_))"

49
3_2.sh Executable file
View File

@ -0,0 +1,49 @@
#!/bin/bash
yarr=()
arr_=()
zeroes=0
ones=0
while read line; do
yarr+=("$line")
done
function asdf() {
arr=(${yarr[@]})
for ((i=0; i<${#arr[0]}; i++)); do
for ((j=0; j<${#arr[@]}; j++)); do
if [[ $(cut -c$((i+1)) <<< "${arr[$j]}") == 0 ]]; then
zeroes=$((zeroes+1))
else
ones=$((ones+1))
fi
done
if [[ $zeroes -lt $ones && $1 == 1 || $zeroes == $ones && $1 == 1 ]] || \
[[ $zeroes -gt $ones && $1 == 0 ]]; then
for ((j=0; j<${#arr[@]}; j++)); do
[[ $(cut -c$((i+1)) <<< "${arr[$j]}") == "0" ]] && arr_+=("${arr[$j]}")
done
else
for ((j=0; j<${#arr[@]}; j++)); do
[[ $(cut -c$((i+1)) <<< "${arr[$j]}") == "1" ]] && arr_+=("${arr[$j]}")
done
fi
arr=(${arr_[@]})
arr_=()
if [[ "${#arr[@]}" == 1 ]]; then
break
fi
zeroes=0
ones=0
done
}
asdf 0
echo 0: ${arr[0]}
uwu=${arr[0]}
asdf 1
owo=${arr[0]}
echo 1: ${arr[0]}
echo $((2#$uwu*2#$owo))