2 Commits

2 changed files with 27 additions and 0 deletions

View File

@@ -14,4 +14,20 @@ lcm() {
if [ $# -ne 2 ]; then
echo "Usage: $0 <num1> <num2>"; exit 1
fi
echo "НОК($1, $2) = $(lcm $1 $2)"#!/bin/bash
gcd() {
local a=$1 b=$2
while [ $b -ne 0 ]; do
local temp=$b; b=$((a % b)); a=$temp
done
echo $a
}
lcm() {
local a=$1 b=$2
local g=$(gcd $a $b)
echo $(( (a * b) / g ))
}
if [ $# -ne 2 ]; then
echo "Usage: $0 <num1> <num2>"; exit 1
fi
echo "НОК($1, $2) = $(lcm $1 $2)"

11
script_main.sh Executable file
View File

@@ -0,0 +1,11 @@
#!/bin/bash
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
echo "=== Калькулятор НОД и НОК ==="
read -p "Введите первое число: " n1
read -p "Введите второе число: " n2
if ! [[ "$n1" =~ ^[0-9]+$ ]] || ! [[ "$n2" =~ ^[0-9]+$ ]]; then
echo "Ошибка: введите целые числа!"; exit 1
fi
echo "Результаты:"
echo -n "НОД: "; bash "$SCRIPT_DIR/script_GCD.sh" "$n1" "$n2"
echo -n "НОК: "; bash "$SCRIPT_DIR/script_LCM.sh" "$n1" "$n2"