diff --git a/ASD b/ASD new file mode 100755 index 0000000..e2398a8 --- /dev/null +++ b/ASD @@ -0,0 +1,35 @@ +#!/bin/bash + + +echo "Программа нахождения НОД (наибольшего общего делителя)" +# Ввод первого числа +read -p "Введите первое число: " num1 +# Ввод второго числа +read -p "Введите второе число: " num2 + +# Проверка на пустой ввод +if [ -z "$num1" ] || [ -z "$num2" ]; then + echo "Ошибка: числа не были введены" + exit 1 +fi + +# Проверка, что введены числа +if ! [[ $num1 =~ ^[0-9]+$ ]] || ! [[ $num2 =~ ^[0-9]+$ ]]; then + echo "Ошибка: введите целые положительные числа" + exit 1 +fi + +# Сохраняем оригинальные числа для вывода +original_num1=$num1 +original_num2=$num2 + + +while [ $num2 -ne 0 ]; do + remainder=$((num1 % num2)) + num1=$num2 + num2=$remainder +done + +# Выводим результат +echo "----------------------------------------" +echo "НОД($original_num1, $original_num2) = $num1"