使用 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
廣告