исправление main
This commit is contained in:
36
lcm.sh
36
lcm.sh
@@ -1,36 +0,0 @@
|
||||
#!/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
|
||||
|
||||
a=$1
|
||||
b=$2
|
||||
|
||||
if [ $a -eq 0 ] || [ $b -eq 0 ]; then
|
||||
echo "НОК($1, $2) = 0"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
gcd() {
|
||||
local x=$1
|
||||
local y=$2
|
||||
while [ $y -ne 0 ]; do
|
||||
local remainder=$((x % y))
|
||||
x=$y
|
||||
y=$remainder
|
||||
done
|
||||
echo $x
|
||||
}
|
||||
|
||||
gcd_result=$(gcd $a $b)
|
||||
lcm_result=$(( (a * b) / gcd_result ))
|
||||
|
||||
echo "НОК($1, $2) = $lcm_result"
|
||||
Reference in New Issue
Block a user