解题思路:
穷举出所有可能的情况:
由于是三位数,则第一位数不能是0(为0则是二位数) i范围1~9
注意事项:
参考代码:
#include <stdio.h> #include <math.h> int main() { for(int i=1; i<10; i++) { for(int j=0; j<10; j++) { for(int z=0; z<10; z++) { if(pow(i,3)+pow(j,3)+pow(z,3)==i*100+j*10+z) { printf("%d%d%d\n",i,j,z); } } } } }
0.0分
4 人评分
//pow()函数返回的是双精度的浮点型,容易出错,建议自己定义一个函数 #include "stdio.h" int fun(int x){ return x*x*x; } int main(){ for(int i=100;i<1000;i++){ int x=i/100; int y=i%100/10; int z=i%10%10; if(fun(x)+fun(y)+fun(z)==i) printf("%d\n",i); } return 0; }
#include<stdio.h> int main() { int b1, b2,b3,n=99; for (; n < 999;) { n++; b1 = n / 100; b2 = (n - b1 * 100)/10; b3 = n - b1 * 100 - b2 * 10; if (b1 * b1 * b1 + b2 * b2 * b2 + b3 * b3 * b3 == n) printf("%d\n", n); } return 0; }
努力c 2021-07-31 16:07:32 |
main函数可以不加,其他必须加,具体还请上知乎。