Program for Addition of Two Fractions in Python

Addition of Two Fractions

The addition of two fractions involves finding a common denominator and then adding the numerators. The result is then simplified if necessary.

We will explore three methods to perform fraction addition using Python programming.

Method 1: Using Basic Arithmetic

This method directly computes the sum using the Least Common Denominator (LCD).

def gcd(a, b):
    while b:
        a, b = b, a % b
    return a

def add_fractions(num1, den1, num2, den2):
    common_den = den1 * den2
    common_num = (num1 * den2) + (num2 * den1)
    divisor = gcd(common_num, common_den)
    print(f"Sum: {common_num // divisor}/{common_den // divisor}")

num1, den1 = map(int, input("Enter first fraction (numerator denominator): ").split())
num2, den2 = map(int, input("Enter second fraction (numerator denominator): ").split())
add_fractions(num1, den1, num2, den2)
            
Input: 1/2 + 1/3
Output: Sum: 5/6

Method 2: Using a Class

Using a class provides better organization for fraction operations.

class Fraction:
    def __init__(self, numerator, denominator):
        self.numerator = numerator
        self.denominator = denominator

def gcd(a, b):
    return a if b == 0 else gcd(b, a % b)

def add_fractions(f1, f2):
    common_num = (f1.numerator * f2.denominator) + (f2.numerator * f1.denominator)
    common_den = f1.denominator * f2.denominator
    divisor = gcd(common_num, common_den)
    return Fraction(common_num // divisor, common_den // divisor)

num1, den1 = map(int, input("Enter first fraction (numerator denominator): ").split())
f1 = Fraction(num1, den1)
num2, den2 = map(int, input("Enter second fraction (numerator denominator): ").split())
f2 = Fraction(num2, den2)
result = add_fractions(f1, f2)
print(f"Sum: {result.numerator}/{result.denominator}")
            
Input: 1/2 + 1/3
Output: Sum: 5/6

Method 3: Using Recursion

This recursive method finds the sum by simplifying at each step.

def gcd(a, b):
    return a if b == 0 else gcd(b, a % b)

def add_fractions_recursive(num1, den1, num2, den2):
    if den1 == den2:
        print(f"Sum: {num1 + num2}/{den1}")
        return
    common_den = den1 * den2
    common_num = (num1 * den2) + (num2 * den1)
    divisor = gcd(common_num, common_den)
    add_fractions_recursive(common_num // divisor, common_den // divisor, 0, 1)

num1, den1 = map(int, input("Enter first fraction (numerator denominator): ").split())
num2, den2 = map(int, input("Enter second fraction (numerator denominator): ").split())
add_fractions_recursive(num1, den1, num2, den2)
            
Input: 1/2 + 1/3
Output: Sum: 5/6
Numbers

Below You will find some of the most important codes in languages like C, C++, Java, and Python. These codes are of prime importance for college semester exams and online tests.

Getting Started

HCF - Highest Common Factor: C C++ Java Python

LCM - Lowest Common Multiple: C C++ Java Python

GCD - Greatest Common Divisor: C C++ Java Python

Binary to Decimal Conversion: C C++ Java Python

Octal to Decimal Conversion: C C++ Java Python

Hexadecimal to Decimal Conversion: C C++ Java Python

Decimal to Binary Conversion: C C++ Java Python

Decimal to Octal Conversion: C C++ Java Python

Decimal to Hexadecimal Conversion: C C++ Java Python

Binary to Octal Conversion: C C++ Java Python

Quadrants in which a given coordinate lies: C C++ Java Python

Addition of Two Fractions: C C++ Java Python

Calculate the Area of a Circle: C C++ Java Python

Convert Digit/Number to Words: C C++ Java Python

Finding Roots of a Quadratic Equation: C C++ Java Python