Giả sử chúng ta có ba số nguyên A, B và N. Chúng ta phải tìm N trung bình cộng giữa A và B. Nếu A = 20, B = 32, và N = 5, thì kết quả sẽ là 22, 24, 26, 28, 30.
Nhiệm vụ đơn giản là chúng ta phải chèn N phần tử vào cấp số cộng (Arithmetic Progression) nơi A và B là số hạng đầu và cuối của dãy đó. Giả sử A1, A2, .... An là n trung bình cộng. Vậy dãy sẽ là A, A1, A2, .... An, B. Vì vậy B là số hạng thứ (N + 2) của dãy. Vì vậy chúng ta có thể dùng các công thức sau:
$$B=A+\lgroup N+2-1\rgroup*d$$
$$B-A=\lgroup N+2-1\rgroup*d$$
$$d=\frac{B-A}{\lgroup N+2-1\rgroup}$$
Ví dụ
#include<iostream> using namespace std; void showMeans(int A, int B, int N) { float d = (float)(B - A) / (N + 1); for (int i = 1; i <= N; i++) cout << (A + i * d) <<" "; } int main() { int A = 20, B = 40, N = 5; showMeans(A, B, N); }
Kết quả
23.3333 26.6667 30 33.3333 36.6667