给定三个整数A,B和N,任务是在A和B之间找到N个几何均值。我们基本上需要在几何级数中插入N个项。其中A和B是第一项和最后一项。
例子:
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
方法 :
设A 1 ,G 2 ,G 3 ,G 4 ……G n为两个给定数字A和B之间的N个几何均值。然后,A,G 1 ,G 2 …..G n ,B将处于几何级数。
因此,B =几何级数的第(N + 2)个项。
那么这里R是公比
B = A * R N + 1
R N + 1 = B / A
R =(B / A) 1 /(N + 1)
现在我们有了R的值
还有第一项A的值
G 1 = AR 1 = A *(B / A) 1 /(N + 1)
G 2 = AR 2 = A *(B / A) 2 /(N + 1)
G 3 = AR 3 = A *(B / A) 3 /(N + 1)
。
。
。
G N = AR N = 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
输出 :
9 27