Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โค้ด C++ หาสามจำนวนรวมได้ n ไม่ใช่ตัวคูณของ 3

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