最小公分母或最小公分母是一组分数的分母的最小公倍数。
共同分母:两个或多个分数的分母相同时。
最小公分母是所有公分母中的最小公分母。
为什么需要LCD ?
它简化了加,减和比较分数。
可以通过乘以分母来简单地评估公共分母。在这种情况下,3 * 6 = 18
但这并不总是最小公分母,在这种情况下LCD = 6而不是18。LCD实际上是分母的LCM。
例子 :
LCD for fractions 5/12 and 7/15 is 60.
We can write both fractions as 25/60 and
28/60 so that they can be added and
subtracted easily.
LCD for fractions 1/3 and 4/7 is 21.
示例问题:给定两个分数,使用最小公称数求和。
例子:
Input : 1/6 + 7/15
Output : 19/30
Explanation : LCM of 6 and 15 is 30.
So, 5/30 + 14/30 = 19/30
Input : 1/3 + 1/6
Output : 3/6
Explanation : LCM of 3 and 6 is 6.
So, 2/6 + 1/6 = 3/6
注意*通过异常取消,可以进一步简化这些答案。
C++
// C++ Program to determine
// LCD of two fractions and
// Perform addition on fractions
#include
using namespace std;
// function to calculate gcd
// or hcf of two numbers.
int gcd(int a, int b)
{
if (a == 0)
return b;
return gcd(b % a, a);
}
// function to calculate
// lcm of two numbers.
int lcm(int a, int b)
{
return (a * b) / gcd(a, b);
}
void printSum(int num1, int den1,
int num2, int den2)
{
// least common multiple
// of denominators LCD
// of 6 and 15 is 30.
int lcd = lcm(den1, den2);
// Computing the numerators for LCD:
// Writing 1/6 as 5/30 and 7/15 as
// 14/30
num1 *= (lcd / den1);
num2 *= (lcd / den2);
// Our sum is going to be res_num/lcd
int res_num = num1 + num2;
cout << res_num << "/" << lcd;
}
// Driver Code
int main()
{
// First fraction is 1/6
int num1 = 1, den1 = 6;
// Second fraction is 7/15
int num2 = 7, den2 = 15;
printSum(num1, den1, num2, den2);
return 0;
}
Java
// Java Program to determine LCD of two
// fractions and Perform addition on
// fractions
public class GFG {
// function to calculate gcd or
// hcf of two numbers.
static int gcd(int a, int b)
{
if (a == 0)
return b;
return gcd(b % a, a);
}
// function to calculate lcm of
// two numbers.
static int lcm(int a, int b)
{
return (a * b) / gcd(a, b);
}
static void printSum(int num1, int den1,
int num2, int den2)
{
// least common multiple of
// denominators LCD of 6 and 15
// is 30.
int lcd = lcm(den1, den2);
// Computing the numerators for LCD:
// Writing 1/6 as 5/30 and 7/15 as
// 14/30
num1 *= (lcd / den1);
num2 *= (lcd / den2);
// Our sum is going to be res_num/lcd
int res_num = num1 + num2;
System.out.print( res_num + "/" + lcd);
}
// Driver code
public static void main(String args[])
{
// First fraction is 1/6
int num1 = 1, den1 = 6;
// Second fraction is 7/15
int num2 = 7, den2 = 15;
printSum(num1, den1, num2, den2);
}
}
// This code is contributed by Sam007.
Python3
# python Program to determine
# LCD of two fractions and
# Perform addition on fractions
# function to calculate gcd
# or hcf of two numbers.
def gcd(a, b):
if (a == 0):
return b
return gcd(b % a, a)
# function to calculate
# lcm of two numbers.
def lcm(a, b):
return (a * b) / gcd(a, b)
def printSum(num1, den1,
num2, den2):
# least common multiple
# of denominators LCD
# of 6 and 15 is 30.
lcd = lcm(den1, den2);
# Computing the numerators
# for LCD: Writing 1/6 as
# 5/30 and 7/15 as 14/30
num1 *= (lcd / den1)
num2 *= (lcd / den2)
# Our sum is going to be
# res_num/lcd
res_num = num1 + num2;
print( int(res_num) , "/" ,
int(lcd))
# Driver Code
# First fraction is 1/6
num1 = 1
den1 = 6
# Second fraction is 7/15
num2 = 7
den2 = 15
printSum(num1, den1, num2, den2);
# This code is contributed
# by Sam007
C#
// C# Program to determine LCD of two
// fractions and Perform addition on
// fractions
using System;
class GFG {
// function to calculate gcd or
// hcf of two numbers.
static int gcd(int a, int b)
{
if (a == 0)
return b;
return gcd(b % a, a);
}
// function to calculate lcm of
// two numbers.
static int lcm(int a, int b)
{
return (a * b) / gcd(a, b);
}
static void printSum(int num1, int den1,
int num2, int den2)
{
// least common multiple of
// denominators LCD of 6 and 15
// is 30.
int lcd = lcm(den1, den2);
// Computing the numerators for LCD:
// Writing 1/6 as 5/30 and 7/15 as
// 14/30
num1 *= (lcd / den1);
num2 *= (lcd / den2);
// Our sum is going to be res_num/lcd
int res_num = num1 + num2;
Console.Write( res_num + "/" + lcd);
}
// Driver code
public static void Main ()
{
// First fraction is 1/6
int num1 = 1, den1 = 6;
// Second fraction is 7/15
int num2 = 7, den2 = 15;
printSum(num1, den1, num2, den2);
}
}
// This code is contributed by Sam007.
PHP
Javascript
输出 :
19/30