C++で除数の数がNを超える最初の三角数
このチュートリアルでは、除数の数がnより大きい三角数を見つけます。
n以下の任意の点での自然数の合計が指定された数に等しい場合、指定された数は三角数です。
三角数とは何かを見てきました。問題を解決するための手順を見てみましょう。
-
番号を初期化します
-
与えられた条件を満たす数が見つかるまでループを書きます。
-
数字が三角形かどうかを確認してください。
-
数にnを超える約数があるかどうかを確認してください。
-
上記の2つの条件が満たされている場合は、番号を出力してループを解除します。
例
コードを見てみましょう。
#include <bits/stdc++.h> using namespace std; bool isTriangular(int n) { if (n < 0) { return false; } int sum = 0; for (int i = 1; sum <= n; i++) { sum += i; if (sum == n) { return true; } } return false; } int divisiorsCount(int n) { int count = 0; for (int i = 1; i <= n; i++) { if (n % i == 0) { count += 1; } } return count; } int main() { int n = 2, i = 1; while (true) { if (isTriangular(i) && divisiorsCount(i) > 2) { cout << i << endl; break; } i += 1; } return 0; }
出力
上記のコードを実行すると、次の結果が得られます。
6
結論
チュートリアルに質問がある場合は、コメントセクションにそのことを記載してください。
-
C++で自然数のすべての約数の約数の合計を求めます
この問題では、自然数Nが与えられます。私たちのタスクは、自然数のすべての約数の約数の合計を見つけることです。 。 問題を理解するために例を見てみましょう Input : N = 12 Output : 55 説明 − The divisors of 12 are 1, 2, 3, 4, 6, 12 Sum of divisors = (1) + (1 + 2) + (1 + 3) + (1 + 2 + 4) + (1 + 2 + 3 + 6) + (1 + 2 + 3 + 4 + 6 + 12) = 1 + 3 + 4 + 7 + 12 + 28 = 55 ソリューションアプローチ
-
C++五胞体数
五胞体数は、パスカルの三角形の5番目の数として表されます。ご存知のように、これは5番目の数字です。つまり、パスカルの三角形に少なくとも5つの数字が必要です。したがって、このシリーズの最初の数字は 1 4 6 4 1から始まります。 パスカルの三角形の4行目。したがって、このチュートリアルでは、たとえば、n番目の五胞体数を見つける必要があります Input : 1 Output : 1 Input : 4 Output : 35 次の図から出力を確認できます- この問題については、可能な限り、これは一種のシリーズであるため、ソリューションでこのシリーズのパターンを見つけようと