Open in App
Not now

# Find N Geometric Means between A and B

• Difficulty Level : Medium
• Last Updated : 27 Aug, 2022

Given three integers A, B and N the task is to find N Geometric means between A and B. WE basically need to insert N terms in a Geometric progression. where A and B are first and last terms.
Examples:

```Input :  A = 2  B = 32  N = 3
Output : 4 8 16
the geometric progression series as 2,
4, 8, 16 , 32

Input : A = 3 B = 81 N = 2
Output : 9 27```

Approach :
Let A1, G2, G3, G4……Gn be N geometric Means between two given numbers A and B . Then A, G1, G2 ….. Gn, B will be in Geometric Progression .
So B = (N+2)th term of the Geometric progression.
Then Here R is the common ratio
B = A*RN+1
RN+1 = B/A
R = (B/A)1/(N+1)
Now we have the value of R
And also we have the value of the first term A
G1 = AR1 = A * (B/A)1/(N+1)
G2 = AR2 = A * (B/A)2/(N+1)
G3 = AR3 = A * (B/A)3/(N+1)

GN = ARN = A * (B/A)N/(N+1)

## C++

 `// C++ program to find n geometric means` `// between A and B` `#include ` `using` `namespace` `std;`   `// Prints N geometric means between` `// A and B.` `void` `printGMeans(``int` `A, ``int` `B, ``int` `N)` `{` `    ``// calculate common ratio(R)` `    ``float` `R = (``float``)``pow``(``float``(B / A), ` `                  ``1.0 / (``float``)(N + 1));` `    `  `    ``// for finding N the Geometric ` `    ``// mean between A and B` `    ``for` `(``int` `i = 1; i <= N; i++) ` `        ``cout << A * ``pow``(R, i) <<``" "``;    ` `}`   `// Driver code to test above ` `int` `main()` `{` `    ``int` `A = 3, B = 81, N = 2;` `    ``printGMeans(A, B, N);    ` `    ``return` `0;` `}`

## Java

 `// java program to illustrate` `// n geometric mean between ` `// A and B` `import` `java.io.*;` `import` `java.lang.*;` `import` `java.util.*;`   `public` `class` `GFG {`   `    ``// insert function for calculating the means` `    ``static` `void` `printGMeans(``int` `A, ``int` `B, ``int` `N)` `    ``{       ` `        ``// Finding the value of R Common ration` `        ``float` `R = (``float``)Math.pow((``float``)(B / A),` `                           ``1.0` `/ (``float``)(N + ``1``));` `                           `  `        ``// for finding N the Geometric ` `        ``// mean between A and B` `        ``for` `(``int` `i = ``1``; i <= N; i++) ` `          ``System.out.print(A * Math.pow(R, i) + ``" "``);` `        `  `    ``}`   `    ``// Driver code` `    ``public` `static` `void` `main(String args[])` `    ``{` `        ``int` `A = ``3``, B = ``81``, N = ``2``;` `        ``printGMeans(A, B, N);` `    ``}` `}`

## Python3

 `# Python3 program to find` `# n geometric means` `# between A and B` `import` `math`   `# Prints N geometric means ` `# between A and B.` `def` `printGMeans(A, B, N):` `    `  `    ``# calculate` `    ``# common ratio(R)` `    ``R ``=` `(math.``pow``((B ``/` `A),` `          ``1.0` `/` `(N ``+` `1``)));` `    `  `    ``# for finding N the ` `    ``# Geometric mean ` `    ``# between A and B` `    ``for` `i ``in` `range``(``1``, N ``+` `1``):` `        ``print``(``int``(A ``*` `math.``pow``(R, i)), ` `                           ``end ``=` `" "``); `   `# Driver Code` `A ``=` `3``;` `B ``=` `81``;` `N ``=` `2``;` `printGMeans(A, B, N); ` `    `  `# This code is contributed` `# by mits`

## C#

 `// C# program to illustrate` `// n geometric mean between ` `// A and B` `using` `System;`   `public` `class` `GFG {`   `    ``// insert function for calculating the means` `    ``static` `void` `printGMeans(``int` `A, ``int` `B, ``int` `N)` `    ``{ ` `        `  `        ``// Finding the value of R Common ration` `        ``float` `R = (``float``)Math.Pow((``float``)(B / A),` `                        ``1.0 / (``float``)(N + 1));` `                            `  `        ``// for finding N the Geometric ` `        ``// mean between A and B` `        ``for` `(``int` `i = 1; i <= N; i++) ` `            ``Console.Write(A * Math.Pow(R, i) + ``" "``);` `        `  `    ``}`   `    ``// Driver code` `    ``public` `static` `void` `Main()` `    ``{` `        ``int` `A = 3, B = 81, N = 2;` `        `  `        ``printGMeans(A, B, N);` `    ``}` `}`   `// This code is contributed by vt_m.`

## PHP

 ``

## Javascript

 ``

Output :

`9 27 `

Time Complexity : O(N*log(N)) ,in worst case power function takes log(N) time.

Space Complexity : O(1), since no extra space has been taken.

My Personal Notes arrow_drop_up
Related Articles