Giả sử chúng ta có hai số nguyên N và D. Chúng ta phải tìm một tập hợp N số nguyên, trong đó hiệu giữa tổng và tích của chúng bằng D. Giả sử N =3, và D =5, thì đầu ra sẽ là 1, 2, 8. Ở đây tổng là 1 + 2 + 8 =11 và tích là 1 * 2 * 8 =16, hiệu số giữa 16 và 11 là 5.
Chúng ta phải giải quyết vấn đề này; chúng tôi sẽ sử dụng một phương pháp phức tạp. Ở đây, chúng tôi sẽ cố gắng tìm N – 2 số 1, một 2 và còn lại một số N + D. Vì vậy, tổng, tích và hiệu sẽ là -
- Tính tổng =(N - 2) * 1 + 2 + (N + D) =2 * N + D
- Sản phẩm =(N - 2) * 1 * 2 * (N + D) =2 * N + 2 * D
- Chênh lệch =(2 * N + 2 * D) - (2 * N + D) =D
Ví dụ
#include<iostream>
using namespace std;
void getNNumbers(int n, int d) {
for (int i = 0; i < n - 2; i++)
cout << 1 << " ";
cout << 2 << " ";
cout << n + d << endl;
}
int main() {
int N = 5, D = 8;
getNNumbers(N, D);
} Đầu ra
1 1 1 2 13