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

C++での和分方程式の非負の積分解の数


このチュートリアルでは、和分方程式の非負の積分解を見つけるプログラムを作成します。

和分方程式はx+y + z=nです。数nが与えられ、方程式の解の数を見つける必要があります。例を見てみましょう。

入力

2

出力

6

ソリューションは

0 0 2
0 1 1
0 2 0
1 0 1
1 1 0
2 0 0

アルゴリズム

  • 数mを初期化します。

  • カウントを0に初期化します。

  • 3つのネストされたループを記述して、3つの数値のすべての組み合わせを取得します。

    • 方程式の検証を確認してください。

    • 現在の数値が方程式を満たしている場合は、カウントを増やします。

  • カウントを返します。

実装

以下は、C++での上記のアルゴリズムの実装です

#include <bits/stdc++.h>
using namespace std;
int getEquationSolutionCount(int n) {
   int count = 0;
   for (int i = 0; i <= n; i++) {
      for (int j = 0; j <= n - i; j++) {
         for (int k = 0; k <= n - i - j; k++) {
            if (i + j + k == n) {
               count++;
            }
         }
      }
   }
   return count;
}
int main() {
   int n = 10;
   cout << getEquationSolutionCount(n) << endl;
   return 0;
}

出力

上記のコードを実行すると、次の結果が得られます。

66

  1. C++でのフィボナッチ数の2乗の合計

    フィボナッチ数列は、0から始まる数学的シーケンスであり、2つの数の合計は次の次の数に等しくなります。たとえば、最初の数は0で、2番目の数は1です。0と1の合計は1になります。 F0=0, F1=1 そして Fn=Fn-1+Fn-2, F2=F0+F1 F2=0+1 F2=1 次に、番号1と1を追加すると、次の番号は2になります F1=1, F2=1 そして Fn=Fn-1+Fn-2, F3=F1+F2 F3=1+1 F3=2 フィボナッチ数列は0、1、1、2、3、5、8、13、21、34、… 燃料エネルギー系列の2乗を見つけてから、それを合計して結果を見つける必要があります Inpu

  2. C++のアリコット数列

    アリコット数列 数列の特別なシーケンスです。シーケンスは番号自体から始まり、シーケンスの次の番号は前の項の適切な除数の合計です。 概念をよりよく学ぶためにシーケンスの例を見てみましょう- 入力:8出力:8 7 1 0説明:8の適切な除数は4、2、1です。合計は7です。7の適切な除数は1です。合計は1です。1の適切な除数は0です。合計は0 完全数は、長さが1のアリコット数列を持つ数です。たとえば、6は完全数です。 友愛数は、長さが2のアリコット数列を持つ数です。たとえば、1は友愛数です。 社交数は、長さが3のアリコット数列を持つ数です。たとえば、7は社交数です。 数値からアリックシーケ