Open In App

# 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
= A + 9 * d
= A5 + 5 * d
= 0 + 5 * d
= 5 * d
Similarly, A
= A + 19 * d
= A5 + 15 * d
= 0 + 15 * d
= 15 * d
Now, we have to find ratio, so Ans= A / A

Below is the required implementation:

## C++

 `// C++ implementation of above approach``#include ``#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

 ``

## 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