在 C++ 中检查给定数字是否是普罗尼克数


我们在此将了解如何检查数字是否为普罗尼克数。可以排列成一个矩形的数字称为普罗尼克数。前几个普罗尼克数是: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

更新日期:2019 年 10 月 22 日

756 次浏览

开启 职业生涯

完成课程后获得认证

开始学习
广告