1 Commits

Author SHA1 Message Date
Vorobyev Matvei
b33b0d4619 Добавил 2026-03-12 19:17:19 +00:00
2 changed files with 35 additions and 25 deletions

35
ASD Executable file
View File

@@ -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"

View File

@@ -1,25 +0,0 @@
#!/bin/bash
#чтение чисел
read -p "Введите первое число: " a
read -p "Введите второе число: " b
#проверка на число
if ! [[ "$a" =~ ^[0-9]+$ ]] || ! [[ "$b" =~ ^[0-9]+$ ]]; then
echo "Ошибка: введите целые положительные числа!"
exit 1
fi
num1=$a
num2=$b
# Алгоритм Евклида
while [ $b -ne 0 ]; do
remainder=$((a % b))
a=$b
b=$remainder
done
echo ""
echo "РЕЗУЛЬТАТ:"
echo "НОД($num1, $num2) = $a"