두 개의 정수 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, 1, 2, 나머지 1개의 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