diff --git a/GCD_LCM.sh b/GCD_LCM.sh new file mode 100644 index 0000000..7000d4d --- /dev/null +++ b/GCD_LCM.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +echo "Введите первое число:" +read num1 + +echo "Введите второе число:" +read num2 + +./script_nok.sh $num1 $num2 + +./script_nod.sh $num1 $num2 + diff --git a/script_GCD.sh b/script_GCD.sh new file mode 100755 index 0000000..4228d9b --- /dev/null +++ b/script_GCD.sh @@ -0,0 +1,14 @@ +#!/bin/bash +# GCD +a="$1" +b="$2" +while [ $a -ne 0 ] && [ $b -ne 0 ]; do + if [ $a -gt $b ]; then + a=$((a % b)) + else + b=$((b % a)) + fi +done +echo $((a + b)) + + diff --git a/script_LCM.sh b/script_LCM.sh new file mode 100644 index 0000000..f2eddae --- /dev/null +++ b/script_LCM.sh @@ -0,0 +1,28 @@ + GNU nano 7.2 script_LCM.sh +#!/bin/bash + +if [ $# -ne 2 ]; then + echo "Использование: $0 <число1> <число2>" + 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 +} + +lcm() { + local a=$1 + local b=$2 + local gcd_val=$(gcd $a $b) + echo $((a * b / gcd_val)) +} + +result=$(lcm $1 $2) +echo $result