C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

合計がnである3つの数値を見つけるC++コード


数nがあるとします。 a + b + c =nであり、これら3つの数値のいずれも3の倍数ではないような、3つの数値a、b、およびcを見つけます。

したがって、入力が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

  1. 再帰を使用して自然数の合計を見つけるC++プログラム

    自然数は1から始まる正の整数です。 自然数のシーケンスは-です 1, 2, 3, 4, 5, 6, 7, 8, 9, 10…… 再帰を使用して最初のn個の自然数の合計を見つけるプログラムは次のとおりです。 例 #include <iostream> using namespace std; int sum(int n) {    if(n == 0)    return n;    else    return n + sum(n-1); } int main() { &

  2. 3つの数字の中から最大の数字を見つけるC++プログラム

    3つの数値の中で最大の数値は、ifステートメントを複数回使用して見つけることができます。これは次のようにプログラムで与えられます- 例 #include <iostream> using namespace std; int main() {    int a = 5 ,b = 1 ,c = 9;    if(a>b) {       if(a>c)       cout<<a<<" is largest number"; &n