33 lines
612 B
Bash
Executable File
33 lines
612 B
Bash
Executable File
#!/bin/bash
|
|
|
|
|
|
if [ $# -ne 2 ]; then
|
|
echo "Ошибка! Нужно ввести два числа"
|
|
echo "Пример: ./script_GCD.sh 15 20"
|
|
exit 1
|
|
fi
|
|
|
|
|
|
a=$1
|
|
b=$2
|
|
|
|
|
|
original_a=$a
|
|
original_b=$b
|
|
|
|
# Проверяем, что это числа (не буквы)
|
|
if ! [[ "$a" =~ ^[0-9]+$ ]] || ! [[ "$b" =~ ^[0-9]+$ ]]; then
|
|
echo "Ошибка! Введите только целые положительные числа"
|
|
exit 1
|
|
fi
|
|
|
|
# Алгоритм Евклида
|
|
while [ $b -ne 0 ]; do
|
|
remainder=$((a % b))
|
|
a=$b
|
|
b=$remainder
|
|
done
|
|
|
|
echo "НОД($original_a, $original_b) = $a"
|
|
|