Compare commits
14 Commits
feature/no
...
24_litvint
| Author | SHA1 | Date | |
|---|---|---|---|
| 9b88f9cbba | |||
| ca1ac5f862 | |||
| 19dd3a7620 | |||
| 3786389117 | |||
| 2fc481254a | |||
| efb8e181d6 | |||
| eba8c4f0fd | |||
| 6aaced4971 | |||
| daa6368f50 | |||
| 6a0820383f | |||
| 70cff05ddb | |||
| 666406d475 | |||
| 78ac11838b | |||
| 35a6ea63e9 |
5
main.sh
5
main.sh
@@ -8,5 +8,8 @@ read num1
|
|||||||
echo "Введите второе число:"
|
echo "Введите второе число:"
|
||||||
read num2
|
read num2
|
||||||
|
|
||||||
# Вызываем скрипт НОК и передаем ему числа
|
# Вызываем скрипт нок и передаем ему числа
|
||||||
./script_nok.sh $num1 $num2
|
./script_nok.sh $num1 $num2
|
||||||
|
|
||||||
|
# Вызываем скрипт НОД и передаем ему числа
|
||||||
|
./script_nod.sh $num1 $num2
|
||||||
|
|||||||
32
script_nod.sh
Executable file
32
script_nod.sh
Executable file
@@ -0,0 +1,32 @@
|
|||||||
|
#!/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 "Наибольший общий делитель (НОД) чисел $1 и $2 = $result"
|
||||||
|
|
||||||
Reference in New Issue
Block a user