Compare commits
7 Commits
feature/gc
...
feature/lc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
82a0a158eb | ||
| 8a63684eff | |||
| 336710739c | |||
|
|
1970118dba | ||
|
|
8d4c3ee399 | ||
|
|
243e24255c | ||
|
|
aad3bdba1e |
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Function to find GCD using Euclidean algorithm
|
||||||
gcd() {
|
gcd() {
|
||||||
local a=$1
|
local a=$1
|
||||||
local b=$2
|
local b=$2
|
||||||
@@ -14,12 +14,12 @@ gcd() {
|
|||||||
echo $a
|
echo $a
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Check arguments
|
||||||
if [ $# -ne 2 ]; then
|
if [ $# -ne 2 ]; then
|
||||||
echo "Usage: $0 <number1> <number2>"
|
echo "Usage: $0 <number1> <number2>"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Call function and print result
|
||||||
result=$(gcd $1 $2)
|
result=$(gcd $1 $2)
|
||||||
echo "НОД($1, $2) = $result"
|
echo "НОД($1, $2) = $result"
|
||||||
|
|||||||
35
script_LCM.sh
Normal file
35
script_LCM.sh
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Function to find GCD (Greatest Common Divisor)
|
||||||
|
gcd() {
|
||||||
|
local a=$1
|
||||||
|
local b=$2
|
||||||
|
|
||||||
|
while [ $b -ne 0 ]; do
|
||||||
|
local temp=$b
|
||||||
|
b=$((a % b))
|
||||||
|
a=$temp
|
||||||
|
done
|
||||||
|
|
||||||
|
echo $a
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to find LCM (Least Common Multiple)
|
||||||
|
lcm() {
|
||||||
|
local a=$1
|
||||||
|
local b=$2
|
||||||
|
|
||||||
|
# LCM = (a * b) / GCD(a, b)
|
||||||
|
local gcd_value=$(gcd $a $b)
|
||||||
|
echo $(( (a * b) / gcd_value ))
|
||||||
|
}
|
||||||
|
|
||||||
|
# Check arguments
|
||||||
|
if [ $# -ne 2 ]; then
|
||||||
|
echo "Usage: $0 <number1> <number2>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Call function and print result
|
||||||
|
result=$(lcm $1 $2)
|
||||||
|
echo "НОК($1, $2) = $result"
|
||||||
31
script_main.sh
Executable file
31
script_main.sh
Executable file
@@ -0,0 +1,31 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
|
||||||
|
echo "=== Калькулятор НОД и НОК ==="
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
|
||||||
|
read -p "Введите первое число: " num1
|
||||||
|
|
||||||
|
|
||||||
|
read -p "Введите второе число: " num2
|
||||||
|
|
||||||
|
|
||||||
|
if ! [[ "$num1" =~ ^[0-9]+$ ]] || ! [[ "$num2" =~ ^[0-9]+$ ]]; then
|
||||||
|
echo "Ошибка: введите целые положительные числа!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "Результаты:"
|
||||||
|
echo "-----------"
|
||||||
|
|
||||||
|
|
||||||
|
echo -n "НОД: "
|
||||||
|
bash "$SCRIPT_DIR/script_GCD.sh" "$num1" "$num2"
|
||||||
|
|
||||||
|
|
||||||
|
echo -n "НОК: "
|
||||||
|
bash "$SCRIPT_DIR/script_LCM.sh" "$num1" "$num2"
|
||||||
Reference in New Issue
Block a user