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