前言
简单问题,写的不好,大佬见谅.
如有疏漏,恳请指正,小编垂首.
问题描述:
编程实现水仙花数。水仙花数是指一个三位数,他的每位上的数字的三次幂之和等于它本身。
问题解析:
- 暴力求解
- 三位数分开遍历,百位从一起步
- 1≦i<10 0≦j<10 0≦k<10
- i³+ j³+ k³==i100+j0+k
实现代码:
代码如下(示例):
#include<iostream>
using namespace std;
int main() {
for (int i = 1; i < 10; i++) {
for (int j = 0; j < 10; j++) {
for (int k = 0; k < 10; k++) {
if (pow(i, 3) + pow(j, 3) + pow(k, 3) == long(i * 100 + j * 10 + k)) {//防止溢出,虽然并不会
cout << (i * 100 + j * 10 + k) << "\t";
}
}
}
}
return 0;
}
注意事项
百位从一起步,否则会是0-999
测试案例:
总结
暴力求解