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