Computer >> Máy Tính >  >> Lập trình >> C ++

Tìm N Phương tiện Hình học giữa A và B bằng C ++.

Giả sử chúng ta có ba số nguyên A, B và N. Chúng ta phải tìm N nghĩa hình học giữa A và B. Nếu A =2, B =32 và N =3, thì kết quả sẽ là 4, 8, 16

Nhiệm vụ rất đơn giản, chúng ta phải chèn N số phần tử trong Tiến trình hình học trong đó A và B là số hạng đầu tiên và số hạng cuối cùng của dãy số đó. Giả sử G1, G2,…. Gn là n phương tiện hình học. Vậy dãy số sẽ là A, G1, G2,…. Gn, B. Vậy B là số hạng thứ (N + 2) của dãy. Vì vậy, chúng ta có thể sử dụng các công thức này -

$$ B =A * R ^ {N + 1} $$

$$ R ^ {N + 1} =\ frac {B} {A} $$

$$ R =\ lgroup \ frac {B} {A} \ rgroup ^ {\ frac {1} {N + 1}} $$

Ví dụ

#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);
}

Đầu ra

9 27