Математиката е жизненоважна част от програмирането и компютърните науки. Това е сърцевината на всеки добър алгоритъм и осигурява аналитичния набор от умения, необходим за програмиране.
Математическите алгоритми също са много важна тема за програмиране на интервюта. В тази статия ще научите как да намерите GCD и LCM на две числа с помощта на C ++, Python, C и JavaScript.
Как да намерим GCD на две числа
Най-големият общ делител (GCD) или най-големият общ коефициент (HCF) на две числа е най-голямото положително цяло число, което перфектно разделя двете дадени числа. Можете да намерите GCD на две числа, използвайки евклидовия алгоритъм.
В евклидовия алгоритъм по-голямото число е разделено на по-малкото число, след което по-малкото число е разделено на останалата част от предишната операция. Този процес се повтаря, докато остатъкът е 0.
Например, ако искате да намерите GCD от 75 и 50, трябва да изпълните следните стъпки:
- Разделете по-голямото число на по-малкото и вземете остатъка.
75 % 50 = 25
- Разделете по-малкото число на остатъка от предишната операция.
50 % 25 = 0
- Сега остатъкът става 0, така че GCD от 75 и 50 е 25.
Програма C ++ за намиране на GCD на две числа
По-долу е програмата C ++ за намиране на GCD на две числа:
// C ++ програма за намиране на GCD / HCF от 2 числа
#include
използване на пространство от имена std;
// Рекурсивна функция за намиране на GCD / HCF от 2 числа
int изчисляваGCD (int num1, int num2)
{
ако (num2 == 0)
{
връщане num1;
}
друго
{
върнете изчислениеGCD (num2, num1% num2);
}
}
// Код на водача
int main ()
{
int num1 = 34, num2 = 22;
cout << "GCD от" << num1 << "и" << num2 << "е" << изчисляваGCD (num1, num2) << endl;
int num3 = 10, num4 = 2;
cout << "GCD на" << num3 << "и" << num4 << "е" << изчисляваGCD (num3, num4) << endl;
int num5 = 88, num6 = 11;
cout << "GCD на" << num5 << "и" << num6 << "е" << изчисляваGCD (num5, num6) << endl;
int num7 = 40, num8 = 32;
cout << "GCD на" << num7 << "и" << num8 << "е" << изчисляваGCD (num7, num8) << endl;
int num9 = 75, num10 = 50;
cout << "GCD на" << num9 << "и" << num10 << "е" << изчисляваGCD (num9, num10) << endl;
връщане 0;
}
Изход:
GCD от 34 и 22 е 2
GCD от 10 и 2 е 2
GCD от 88 и 11 е 11
GCD от 40 и 32 е 8
GCD от 75 и 50 е 25
Програма Python за намиране на GCD на две числа
По-долу е програмата Python за намиране на GCD на две числа:
Свързани: Какво представлява рекурсията и как я използвате?
# Програма Python за намиране на GCD / HCF от 2 числа
def изчисли GCD (num1, num2):
ако num2 == 0:
връщане num1
друго:
връщане изчисли GCD (num2, num1% num2)
# Код на водача
num1 = 34
num2 = 22
печат ("GCD на", num1, "и", num2, "е", изчисли GCD (num1, num2))
num3 = 10
num4 = 2
печат ("GCD на", num3, "и", num4, "е", изчисли GCD (num3, num4))
num5 = 88
num6 = 11
печат ("GCD на", num5, "и", num6, "е", изчисли GCD (num5, num6))
num7 = 40
num8 = 32
печат ("GCD на", num7, "и", num8, "е", изчисли GCD (num7, num8))
число9 = 75
num10 = 50
печат ("GCD на", num9, "и", num10, "е", изчисли GCD (num9, num10))
Изход:
GCD от 34 и 22 е 2
GCD от 10 и 2 е 2
GCD от 88 и 11 е 11
GCD от 40 и 32 е 8
GCD от 75 и 50 е 25
Програма C за намиране на GCD на две числа
По-долу е C програмата за намиране на GCD от две числа:
// C програма за намиране на GCD / HCF от 2 числа
#include
// Рекурсивна функция за намиране на GCD / HCF от 2 числа
int изчисляваGCD (int num1, int num2)
{
ако (num2 == 0)
{
връщане num1;
}
друго
{
върнете изчислениеGCD (num2, num1% num2);
}
}
// Код на водача
int main ()
{
int num1 = 34, num2 = 22;
printf ("GCD от% d и% d е% d \ n", num1, num2, изчисли GCD (num1, num2));
int num3 = 10, num4 = 2;
printf ("GCD от% d и% d е% d \ n", num3, num4, изчисли GCD (num3, num4));
int num5 = 88, num6 = 11;
printf ("GCD от% d и% d е% d \ n", num5, num6, изчисли GCD (num5, num6));
int num7 = 40, num8 = 32;
printf ("GCD от% d и% d е% d \ n", num7, num8, изчисли GCD (num7, num8));
int num9 = 75, num10 = 50;
printf ("GCD от% d и% d е% d \ n", num9, num10, изчисли GCD (num9, num10));
връщане 0;
}
Изход:
GCD от 34 и 22 е 2
GCD от 10 и 2 е 2
GCD от 88 и 11 е 11
GCD от 40 и 32 е 8
GCD от 75 и 50 е 25
Програма JavaScript за намиране на GCD на две числа
По-долу е JavaScript програма за намиране на GCD от две числа:
// Програма JavaScript за намиране на GCD / HCF от 2 числа
// Рекурсивна функция за намиране на GCD / HCF от 2 числа
функция изчисляваGCD (num1, num2) {
ако (num2 == 0)
{
връщане num1;
}
друго
{
върнете изчислениеGCD (num2, num1% num2);
}
}
// Код на водача
var num1 = 34, num2 = 22;
document.write ("GCD на" + num1 + "и" + num2 + "е" + изчисли GCD (num1, num2) + "
");
var num3 = 10, num4 = 2;
document.write ("GCD на" + num3 + "и" + num4 + "е" + изчисли GCD (num3, num4) + "
");
var num5 = 88, num6 = 11;
document.write ("GCD на" + num5 + "и" + num6 + "е" + изчисли GCD (num5, num6) + "
");
var num7 = 40, num8 = 32;
document.write ("GCD на" + num7 + "и" + num8 + "е" + изчисли GCD (num7, num8) + "
");
var num9 = 75, num10 = 50;
document.write ("GCD от" + num9 + "и" + num10 + "е" + изчисли GCD (num9, num10) + "
");
Изход:
GCD от 34 и 22 е 2
GCD от 10 и 2 е 2
GCD от 88 и 11 е 11
GCD от 40 и 32 е 8
GCD от 75 и 50 е 25
Как да намерим LCM на две числа
Най-малкото общо кратно (LCM) на две числа е най-малкото положително цяло число, което е напълно делимо на двете дадени числа. Можете да намерите LCM на две числа, като използвате следната математическа формула:
num1 * num2 = LCM (num1, num2) * GCD (num1, num2)
LCM (num1, num2) = (num1 * num2) / GCD (num1, num2)
За да намерите програмно LCM на две числа, трябва да използвате функцията, за да намерите GCD на две числа.
Свързани: Как да добавяме и изваждаме две матрици в C ++, Python и JavaScript
Програма C ++ за намиране на LCM на две числа
По-долу е програмата C ++ за намиране на LCM на две числа:
// C ++ програма за намиране на LCM от 2 числа
#include
използване на пространство от имена std;
// Рекурсивна функция за намиране на LCM на 2 числа
int изчисляваGCD (int num1, int num2)
{
ако (num2 == 0)
{
връщане num1;
}
друго
{
върнете изчислениеGCD (num2, num1% num2);
}
}
int изчисляванеLCM (int num1, int num2)
{
връщане (num1 / изчисляванеGCD (num1, num2)) * num2;
}
// Код на водача
int main ()
{
int num1 = 34, num2 = 22;
cout << "LCM на" << num1 << "и" << num2 << "е" << изчисляванеLCM (num1, num2) << endl;
int num3 = 10, num4 = 2;
cout << "LCM на" << num3 << "и" << num4 << "е" << изчислиLCM (num3, num4) << endl;
int num5 = 88, num6 = 11;
cout << "LCM на" << num5 << "и" << num6 << "е" << изчислиLCM (num5, num6) << endl;
int num7 = 40, num8 = 32;
cout << "LCM на" << num7 << "и" << num8 << "е" << изчисляваLCM (num7, num8) << endl;
int num9 = 75, num10 = 50;
cout << "LCM на" << num9 << "и" << num10 << "е" << изчислиLCM (num9, num10) << endl;
връщане 0;
}
Изход:
LCM от 34 и 22 е 374
LCM от 10 и 2 е 10
LCM от 88 и 11 е 88
LCM от 40 и 32 е 160
LCM от 75 и 50 е 150
Програма Python за намиране на LCM на две числа
По-долу е програмата Python за намиране на LCM на две числа:
# Програма Python за намиране на LCM от 2 числа
def изчисли GCD (num1, num2):
ако num2 == 0:
връщане num1
друго:
връщане изчисли GCD (num2, num1% num2)
деф изчислениеLCM (num1, num2):
return (num1 // изчисляваGCD (num1, num2)) * num2
# Код на водача
num1 = 34
num2 = 22
print ("LCM на", num1, "и", num2, "е", изчисляваLCM (num1, num2))
num3 = 10
num4 = 2
print ("LCM на", num3, "и", num4, "е", изчислиLCM (num3, num4))
num5 = 88
num6 = 11
print ("LCM на", num5, "и", num6, "is", изчисляваLCM (num5, num6))
num7 = 40
num8 = 32
print ("LCM на", num7, "и", num8, "е", изчисляваLCM (num7, num8))
число9 = 75
num10 = 50
print ("LCM на", num9, "и", num10, "is", изчисляваLCM (num9, num10))
Изход:
LCM от 34 и 22 е 374
LCM от 10 и 2 е 10
LCM от 88 и 11 е 88
LCM от 40 и 32 е 160
LCM от 75 и 50 е 150
Програма C за намиране на LCM на две числа
По-долу е C програмата за намиране на LCM на две числа:
// C програма за намиране на LCM от 2 числа
#include
// Рекурсивна функция за намиране на LCM на 2 числа
int изчисляваGCD (int num1, int num2)
{
ако (num2 == 0)
{
връщане num1;
}
друго
{
върнете изчислениеGCD (num2, num1% num2);
}
}
int изчисляванеLCM (int num1, int num2)
{
връщане (num1 / изчисляванеGCD (num1, num2)) * num2;
}
// Код на водача
int main ()
{
int num1 = 34, num2 = 22;
printf ("LCM от% d и% d е% d \ n", num1, num2, изчисляваLCM (num1, num2));
int num3 = 10, num4 = 2;
printf ("LCM от% d и% d е% d \ n", num3, num4, изчислиLCM (num3, num4));
int num5 = 88, num6 = 11;
printf ("LCM от% d и% d е% d \ n", num5, num6, изчисляванеLCM (num5, num6));
int num7 = 40, num8 = 32;
printf ("LCM от% d и% d е% d \ n", num7, num8, изчисляваLCM (num7, num8));
int num9 = 75, num10 = 50;
printf ("LCM от% d и% d е% d \ n", num9, num10, изчисляванеLCM (num9, num10));
връщане 0;
}
Изход:
LCM от 34 и 22 е 374
LCM от 10 и 2 е 10
LCM от 88 и 11 е 88
LCM от 40 и 32 е 160
LCM от 75 и 50 е 150
Програма JavaScript за намиране на LCM на две числа
По-долу е JavaScript програмата за намиране на LCM на две числа:
// JavaScript програма за намиране на LCM от 2 числа
// Рекурсивна функция за намиране на LCM на 2 числа
функция изчисляваGCD (num1, num2) {
ако (num2 == 0)
{
връщане num1;
}
друго
{
върнете изчислениеGCD (num2, num1% num2);
}
}
функция изчисляваLCM (num1, num2)
{
връщане (num1 / изчисляванеGCD (num1, num2)) * num2;
}
// Код на водача
var num1 = 34, num2 = 22;
document.write ("LCM на" + num1 + "и" + num2 + "е" + изчисляванеLCM (num1, num2) + "
");
var num3 = 10, num4 = 2;
document.write ("LCM на" + num3 + "и" + num4 + "е" + изчисляванеLCM (num3, num4) + "
");
var num5 = 88, num6 = 11;
document.write ("LCM на" + num5 + "и" + num6 + "е" + изчисляваLCM (num5, num6) + "
");
var num7 = 40, num8 = 32;
document.write ("LCM на" + num7 + "и" + num8 + "е" + изчисляванеLCM (num7, num8) + "
");
var num9 = 75, num10 = 50;
document.write ("LCM на" + num9 + "и" + num10 + "е" + изчисляванеLCM (num9, num10) + "
");
Изход:
LCM от 34 и 22 е 374
LCM от 10 и 2 е 10
LCM от 88 и 11 е 88
LCM от 40 и 32 е 160
LCM от 75 и 50 е 150
Научете повече за математическите алгоритми
Математическите алгоритми играят жизненоважна роля в програмирането. Разумно е да знаете за някои от основните програми, базирани на математически алгоритми като Sieve Algorithms, Prime Factorization, Divisors, Fibonacci Numbers, nCr Computations и т.н.
В момента функционалното програмиране е на върха на програмните тенденции в Интернет. Парадигмата за функционално програмиране третира изчисленията като математически функции и тази концепция е много полезна при програмирането. Трябва да знаете за функционалното програмиране и кои езици за програмиране го поддържат, за да бъде най-ефективният програмист, който можете да бъдете.
Искате ли да научите повече за програмирането? Струва си да научите за функционалното програмиране и какви програмни езици го поддържат.
Прочетете Напред
- Програмиране
- JavaScript
- Python
- Уроци за кодиране
- C Програмиране
Yuvraj е студент по компютърни науки в Университета на Делхи, Индия. Той е запален по Full Stack Web Development. Когато не пише, той изследва дълбочината на различните технологии.
Абонирайте се за нашия бюлетин
Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и ексклузивни оферти!
Още една стъпка…!
Моля, потвърдете имейл адреса си в имейла, който току-що ви изпратихме.