Compare commits
7 Commits
6ad122cbcb
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 701e60c842 | |||
| 8c3b647af8 | |||
|
|
54c77bb715 | ||
|
|
b33b0d4619 | ||
|
|
6cc914c8f5 | ||
|
|
581fcd2b1e | ||
|
|
b8ff0c57ea |
35
ASD
Executable file
35
ASD
Executable 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"
|
||||
25
my_skript1.sh
Executable file
25
my_skript1.sh
Executable file
@@ -0,0 +1,25 @@
|
||||
#!/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"
|
||||
|
||||
Reference in New Issue
Block a user