Ratio of mth and nth terms of an A. P. with given ratio of sums

Last Updated : 7 Jul, 2022

Given that the ratio to sum of first m and n terms of an A.P. with first term 'a' and commond difference 'd' is m^2:n^2. The task is to find the ratio of mth and nth term of this A.P. 
Examples: 
 

Input: m = 3, n = 2
Output: 1.6667

Input: m = 5, n = 3
Output: 1.8


 


Approach:
Let the Sum of first m and n terms be denoted by Sm and Sn respectively. 
Also, let the mth and nth term be denoted by tm and tn respectively. 
 

Sm = (m * [ 2*a + (m-1)*d ])/2 
Sn = (n * [ 2*a + (n-1)*d ])/2
Given: Sm / Sn = m^2 / n^2 
Hence, ((m * [ 2*a + (m-1)*d ])/2) / ((n * [ 2*a + (n-1)*d ])/2) = m^2 / n^2 
=> (2*a + (m-1)*d) / (2*a + (n-1)*d) = m / n
on cross multiplying and solving, we get 
d = 2 * a 
Hence, the mth and nth terms can be written as:
mth term = tm = a +(m-1)*d = a + (m-1)*(2*a) 
nth term = tn = a +(n-1)*d = a + (n-1)*(2*a) 
Hence the ratio will be: 
tm / tn = (a + (m-1)*(2*a)) / (a + (n-1)*(2*a)) 
tm / tn = (2*m - 1) / (2*n - 1)


Below is the required implementation: 
 

C++
// C++ code to calculate ratio
#include <bits/stdc++.h>
using namespace std;

// function to calculate ratio of mth and nth term
float CalculateRatio(float m, float n)
{
    // ratio will be tm/tn = (2*m - 1)/(2*n - 1)
    return (2 * m - 1) / (2 * n - 1);
}

// Driver code
int main()
{
    float m = 6, n = 2;
    cout << CalculateRatio(m, n);

    return 0;
}
Java
// Java code to calculate ratio
import java.io.*;

class Nth {
    
// function to calculate ratio of mth and nth term
static float CalculateRatio(float m, float n)
{
    // ratio will be tm/tn = (2*m - 1)/(2*n - 1)
    return (2 * m - 1) / (2 * n - 1);
}
}

// Driver code
class GFG {
    
    public static void main (String[] args) {
    float m = 6, n = 2;
    Nth a=new Nth();
System.out.println(a.CalculateRatio(m, n));

    }
}

// this code is contributed by inder_verma..
Python3
# Python3 program to calculate ratio 

# function to calculate ratio 
# of mth and nth term 
def CalculateRatio(m, n): 

    # ratio will be tm/tn = (2*m - 1)/(2*n - 1) 
    return (2 * m - 1) / (2 * n - 1); 

# Driver code 
if __name__=='__main__':
    m = 6;
    n = 2; 
    print (float(CalculateRatio(m, n))); 

# This code is contributed by 
# Shivi_Aggarwal
C#
// C# code to calculate ratio
using System;

class Nth {
    
// function to calculate ratio of mth and nth term
float CalculateRatio(float m, float n)
{
    // ratio will be tm/tn = (2*m - 1)/(2*n - 1)
    return (2 * m - 1) / (2 * n - 1);
}

    // Driver code
    public static void Main () {
    float m = 6, n = 2;
    Nth a=new Nth();
Console.WriteLine(a.CalculateRatio(m, n));

    }
}
// this code is contributed by anuj_67.
PHP
<?php
// PHP code to calculate ratio

// function to calculate ratio 
// of mth and nth term
function CalculateRatio( $m, $n)
{
    // ratio will be tm/tn = (2*m - 1)/(2*n - 1)
    return (2 * $m - 1) / (2 * $n - 1);
}

// Driver code

$m = 6; $n = 2;
echo CalculateRatio($m, $n);

// This code is contributed 
// by inder_verma
?>
JavaScript
<script>

// JavaScript code to calculate ratio 

// function to calculate ratio of mth and nth term 
function CalculateRatio(m, n) 
{ 
    // ratio will be tm/tn = (2*m - 1)/(2*n - 1) 
    return (2 * m - 1) / (2 * n - 1); 
} 

// Driver code 

    let m = 6, n = 2; 
    document.write(CalculateRatio(m, n)); 

// This code is contributed by Surbhi Tyagi.

</script>

Output: 
3.66667

 

Time Complexity: O(1)
Auxiliary Space: O(1)

Comment