在本教程中,我们将找到一个除数大于n的三角数。
如果在任意点上小于或等于n的自然数之和等于给定数,则给定数为三角数。
我们已经知道什么是三角数。让我们看看解决问题的步骤。
初始化号码
编写一个循环,直到找到满足给定条件的数字。
检查数字是否为三角形。
检查数字的除数是否大于n。
如果满足以上两个条件,则打印数字并中断循环。
让我们看一下代码。
#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
如果您对本教程有任何疑问,请在评论部分中提及。