Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ค้นหาจำนวนเต็ม N ที่มีความแตกต่างระหว่างผลิตภัณฑ์และผลรวมใน C++


สมมติว่าเรามีจำนวนเต็ม 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