세 개의 정수 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=\l그룹 \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