使用C ++在A和B之间找到N个几何平均值。
假设我们有三个整数A,B和N。我们必须在A和B之间找到N个几何平均值。如果A=2,B=32,并且N=3,则输出将是4、8、16
任务很简单,我们必须在几何级数中插入N个元素,其中A和B是该序列的第一项和最后一项。假设G1,G2,...。Gn是n个几何平均值。因此序列将为A,G1,G2...。Gn,B。所以B是序列的第(N+2)个项。所以我们可以使用这些公式-
$$B=A*R^{N+1}$$
$$R^{N+1}=\frac{B}{A}$$
$$R=\lgroup\frac{B}{A}\rgroup^{\frac{1}{N+1}}$$
示例
#include<iostream> #include<cmath> using namespace std; void showMeans(int A, int B, int N) { float R = (float)pow(float(B / A), 1.0 / (float)(N + 1)); for (int i = 1; i <= N; i++) cout << (A * pow(R, i)) <<" "; } int main() { int A = 3, B = 81, N = 2; showMeans(A, B, N); }
输出结果
9 27