Computer >> Máy Tính >  >> Lập trình >> C ++

Mã C ++ để tìm ba số có tổng là n

Giả sử chúng ta có một số n. Chúng ta sẽ tìm ba số a, b và c sao cho a + b + c =n và không có số nào trong ba số này là bội của 3.

Vì vậy, nếu đầu vào là n =233, thì đầu ra sẽ là [77, 77, 79]

Các bước

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

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

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

#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);
}

Đầu vào

233

Đầu ra

1 2 230