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

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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
}

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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); 
             
    }
   
  
}

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Output:

1/3


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.