检查给定的数字在C ++中是否为Pronic

在这里,我们将看到如何检查数字是否为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