Skip to content
Related Articles

Related Articles

Ratio of mth and nth term in an Arithmetic Progression (AP)
  • Difficulty Level : Basic
  • Last Updated : 17 Oct, 2018
GeeksforGeeks - Summer Carnival Banner

Given two values ‘m’ and ‘n’ and the 5th term of an arithmetic progression is zero. The task is to find the ratio of mth and nth term of this AP.

Examples:

Input: m = 10, n = 20
Output: 1/3

Input: m = 10, n = 15
Output: 1/2

Approach: Acc. to the statement, 5th term is zero. Now understand the concept with an example. As A5=a+4*d=0.
Now, we have to find ratio of m = 10th term and n = 20th term.

A[10]
= A + 9 * d
= A5 + 5 * d
= 0 + 5 * d
= 5 * d

Similarly, A[20]
= A + 19 * d
= A5 + 15 * d
= 0 + 15 * d
= 15 * d



Now, we have to find ratio, so Ans= A[10] / A[20]

Below is the required implementation:

C++




// C++ implementation of above approach
#include <bits/stdc++.h>
#define ll long long int
using namespace std;
  
// Function to find the ratio
void findRatio(ll m, ll n)
{
  
    ll Am = m - 5, An = n - 5;
  
    // divide numerator by gcd to get
    // smallest fractional value
    ll numerator = Am / (__gcd(Am, An));
  
    // divide denominator by gcd to get
    // smallest fractional value
    ll denominator = An / (__gcd(Am, An));
  
    cout << numerator << "/" << denominator << endl;
}
  
// Driver code
int main()
{
  
    // let d=1 as d doesn't affect ratio
    ll m = 10, n = 20;
  
    findRatio(m, n);
  
    return 0;
}

Java




// java implementation of above approach 
  
public class GFG {
      
    // Function to calculate the GCD
    static int GCD(int a, int b) {
           if (b==0) return a;
           return GCD(b,a%b);
        }
      
    // Function to find the ratio 
    static void findRatio(int m,int  n)
    {
        int Am = m - 5, An = n - 5 ;
          
        // divide numerator by GCD to get 
        // smallest fractional value 
        int numerator = Am / GCD(Am, An) ;
          
        // divide denominator by GCD to get 
        // smallest fractional value 
        int denominator = An / GCD(Am, An) ;
          
        System.out.println(numerator + "/" + denominator);
    }
    // Driver code 
    public static void main (String args[]){
          
        // let d=1 as d doesn't affect ratio  
        int m = 10, n = 20
            
            findRatio(m, n); 
            
    }
  
// This code is contributed by ANKITRAI1
}

Python3




# Python3 implementation of above approach 
# Function to find the ratio
  
from fractions import gcd
def findRatio(m,n):
    Am = m - 5
    An = n - 5
      
    # divide numerator by gcd to get 
    # smallest fractional value 
    numerator=Am//(gcd(Am,An))
  
    # divide denominator by gcd to get 
    #smallest fractional value 
    denominator = An // (gcd(Am, An))
    print(numerator,'/',denominator)
      
# Driver code 
# let d=1 as d doesn't affect ratio 
if __name__=='__main__':
    m = 10
    n = 20
    findRatio(m, n)
  
# this code is contributed by sahilshelangia

C#




// C# implementation of above approach 
   
using System;
public class GFG {
       
    // Function to calculate the GCD
    static int GCD(int a, int b) {
           if (b==0) return a;
           return GCD(b,a%b);
        }
       
    // Function to find the ratio 
    static void findRatio(int m,int  n)
    {
        int Am = m - 5, An = n - 5 ;
           
        // divide numerator by GCD to get 
        // smallest fractional value 
        int numerator = Am / GCD(Am, An) ;
           
        // divide denominator by GCD to get 
        // smallest fractional value 
        int denominator = An / GCD(Am, An) ;
           
        Console.Write(numerator + "/" + denominator);
    }
    // Driver code 
    public static void Main (){
           
        // let d=1 as d doesn't affect ratio  
        int m = 10, n = 20; 
             
            findRatio(m, n); 
             
    }
   
  
}

PHP




<?php
// PHP implementation of above approach
  
function __gcd($a, $b
{
    if ($b == 0) return $a;
    return __gcd($b, $a % $b);
}
  
// Function to find the ratio
function findRatio($m, $n)
{
    $Am = $m - 5; $An = $n - 5;
  
    // divide numerator by gcd to get
    // smallest fractional value
    $numerator = $Am / (__gcd($Am, $An));
  
    // divide denominator by gcd to 
    // get smallest fractional value
    $denominator = $An / (__gcd($Am, $An));
  
    echo $numerator , "/" ,
         $denominator;
}
  
// Driver code
  
// let d=1 as d doesn't affect ratio
$m = 10; $n = 20;
  
findRatio($m, $n);
  
// This code is contributed
// by inder_verma
?>
Output:
1/3

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up
Recommended Articles
Page :