# Ratio of mth and nth term in an Arithmetic Progression (AP)

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 #define ll long long intusing namespace std; // Function to find the ratiovoid 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 codeint 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 gcddef 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



## Javascript



Output:
1/3

Time Complexity: O(log(max(m, n))), where m and n represents the given integers.
Auxiliary Space: O(log(max(m, n))) for call stack because using recursion

Previous
Next