Files
23-Lab_Smirnova_Solodovnikova/script_NOD.sh

29 lines
771 B
Bash

#!/bin/bash
# Проверяем, что передано ровно два аргумента
if [ $# -ne 2 ]; then
echo "Ошибка: нужно указать два числа"
echo "Пример: $0 15 20"
exit 1
fi
# Сохраняем аргументы в переменные
a=$1
b=$2
# Проверяем, что аргументы — числа
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 $a