C++程式碼查詢和為n的三個數


假設我們有一個數字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

更新於: 15-3-2022

322次瀏覽

開啟你的職業生涯

完成課程以獲得認證

開始
廣告
© . All rights reserved.