Я кодирую программу, которая вычисляет GCD из двух чисел. Моя проблема возникает в некоторых случаях ввода:
GCD (88, 100) = 4
Но моя программа возвращает пустое место (как будто она не может получить $gcd
), но я не дошел до точной проблемы в моемкод еще.
#!/bin/bash
while true; do
read a b
gcd=$a
if [ $b -lt $gcd ]; then
gcd=$b
fi
while [ $gcd -ne 0 ]; do
x=`expr $a % $gcd`
y=`expr $b % $gcd`
if [ $x -eq 0 -a $y -eq 0 ]; then
echo "GCD ($a, $b) = $gcd"
break
fi
done
done