สมมติว่าเรามีตัวเลข 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