สมมติว่าเรามีตัวเลข n จะหา a, b, c ที่ a + b + c = n และทั้งสามไม่ใช่ตัวคูณของ 3
เช่น ถ้าอินพุตคือ n = 233 เอาต์พุตจะเป็น [77, 77, 79]
ขั้นตอนการแก้ปัญหา
if (n - 2) mod 3 == 0:
return 1, 2, n - 3
otherwise:
return 1, 1, 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