6.12 用穷举法求某数段的素数、水仙花数、完全平方数等
6.12.1 素数
6.12.2 水仙花数
一个 位整数 各位上的数字为 ,若满足一下公式:
则称为水仙花数。
例如:
bool is_shuixianhua(int num) {
vector<int> bits;
int tmp = num;
while (tmp > 0) {
bits.push_back(tmp % 10);
tmp /= 10;
}
tmp = 0;
for (int bit : bits) {
tmp += pow(bit, bits.size());
}
return tmp == num;
}
6.12.3 完全平方数
bool is_pow(int num) {
double pow = sqrt(num);
return pow == (int) pow;
}