C++中寻找约数个数超过N的第一个三角数
在本教程中,我们将找到一个约数个数大于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
结论
如果您在本教程中遇到任何疑问,请在评论区提出。
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP