สมมติว่าเรามีจำนวนเต็ม N และ D สองจำนวน เราต้องหาชุดของจำนวนเต็ม N โดยที่ผลต่างระหว่างผลรวมและผลิตภัณฑ์เท่ากับ D สมมติว่า N =3 และ D =5 ดังนั้นผลลัพธ์จะเป็น 1, 2, 8 ในที่นี้ผลรวมคือ 1 + 2 + 8 =11 และผลิตภัณฑ์คือ 1 * 2 * 8 =16 ผลต่างระหว่าง 16 และ 11 คือ 5พี>
เราต้องแก้ปัญหานี้ เราจะใช้วิธีหนึ่งที่ยุ่งยาก ที่นี่เราจะพยายามหาจำนวน N–2 ของ 1 วินาที หนึ่ง 2 และเหลืออีกหนึ่งหมายเลข N + D ดังนั้นผลรวม ผลิตภัณฑ์ และส่วนต่างจะเป็น -
- ผลรวม =(N – 2)*1 + 2 + (N + D) =2*N + D
- สินค้า =(N – 2)*1 * 2 * (N + D) =2*N + 2*D
- ความแตกต่าง =(2*N + 2*D) – (2*N + D) =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); }
ผลลัพธ์
1 1 1 2 13