在这里,我们将看到如何检查数字是否为Pronic数字。可以排列成矩形的数字称为质子数。前几个质子数是:0、2、6、12、20、30、42、56、72、90、110、132、156、182、210、240、272、306、342。质子数是以下各项的乘积。两个连续的整数。因此质子数n = x *(x + 1)。
在这里,我们将检查并生成一些质子编号。
#include <iostream> #include <cmath> using namespace std; bool isPronicNumber(int num) { for (int i = 0; i <= (int)(sqrt(num)); i++) if (num == i * (i + 1)) return true; return false; } int main() { for (int i = 0; i <= 200; i++) if (isPronicNumber(i)) cout << i << " "; }
输出结果
0 2 6 12 20 30 42 56 72 90 110 132 156 182