这里我们将看到一个数字是否为凄凉数。如果一个数字不能表示为正数 x 和 x 中设置的位数之和,则称该数字为凄凉数。因此,对于任何非负数 x,x + set_bit_count(x) 不等于 n。这个概念非常简单,如果设置的位数加上数字本身不等于该数字,则该数字为凄凉数,否则不是。示例 现场演示#include using namespace std; int set_bit_count(int x) { unsigned int bit_count = 0; while (x != 0) { ... 阅读更多
这里我们将看到如何检查一个数字是否为普洛尼克数。可以排列成矩形的数字称为普洛尼克数。前几个普洛尼克数为:0、2、6、12、20、30、42、56、72、90、110、132、156、182、210、240、272、306、342。普洛尼克数是两个连续整数的乘积。因此,普洛尼克数 n = x * (x + 1)。这里我们将检查并生成一些普洛尼克数。示例 现场演示#include #include using namespace std; bool isPronicNumber(int num) { for (int i = 0; i < num; i++) { if (i * (i + 1) == num) return true; } return false; } int main() { int num = 12; if (isPronicNumber(num)) cout << num << " 是一个普洛尼克数" << endl; else cout << num << " 不是一个普洛尼克数" << endl; return 0; }