สมมติว่าเรามีตัวเลข n เราจะหาตัวเลขสามตัว a, b และ c โดยที่ a + b + c=n และไม่มีตัวเลขใดในจำนวนนี้ที่คูณด้วย 3
ดังนั้น หากอินพุตเท่ากับ 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