Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

합이 n인 세 숫자를 찾는 C++ 코드

<시간/>

숫자 n이 있다고 가정합니다. 우리는 a + b + c=n이고 이 세 숫자 중 어느 것도 3의 배수가 아닌 세 개의 숫자, b, c를 찾을 것입니다.

따라서 입력이 n =233과 같으면 출력은 [77, 77, 79]

가 됩니다.

단계

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

if (n - 2) mod 3 is same as 0, then:
   return 1, 2, and n - 3
Otherwise
   return 1, 1, and n - 2

예시

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

#include <bits/stdc++.h>
using namespace std;
void solve(int n){
   if ((n - 2) % 3 == 0)
      cout << 1 << ", " << 2 << ", " << n - 3;
   else
      cout << 1 << ", " << 1 << ", " << n - 2;
}
int main(){
   int n = 233;
   solve(n);
}

입력

233

출력

1 2 230