32 lines
772 B
Bash
Executable File
32 lines
772 B
Bash
Executable File
#!/bin/bash
|
||
|
||
# Проверка количества аргументов
|
||
if [ $# -ne 2 ]; then
|
||
echo "Использование: $0 <число1> <число2>"
|
||
exit 1
|
||
fi
|
||
|
||
# Проверка, что аргументы являются числами
|
||
if ! [[ "$1" =~ ^[0-9]+$ ]] || ! [[ "$2" =~ ^[0-9]+$ ]]; then
|
||
echo "Ошибка: аргументы должны быть целыми неотрицательными числами"
|
||
exit 1
|
||
fi
|
||
|
||
# Функция для нахождения НОД алгоритмом Евклида
|
||
gcd() {
|
||
local a=$1
|
||
local b=$2
|
||
|
||
while [ $b -ne 0 ]; do
|
||
local temp=$b
|
||
b=$((a % b))
|
||
a=$temp
|
||
done
|
||
|
||
echo $a
|
||
}
|
||
|
||
# Вычисление НОД
|
||
result=$(gcd $1 $2)
|
||
echo $result
|