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 次の図から出力を確認できます- この問題については、可能な限り、これは一種のシリーズであるため、ソリューションでこのシリーズのパターンを見つけようと