Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

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=\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