|
发表于 2020-8-15 12:51:28
|
显示全部楼层
本帖最后由 xieglt 于 2020-8-15 13:02 编辑
- #include <stdio.h>
- #include <math.h>
- int main(void)
- {
- int i;
- for(i = 100; i <= 999; i++)
- {
- int g = i % 10;
- int s = i / 10 % 10;
- int b = i / 100;
- //消除double 误差
- int sum = pow(g, 3) + pow(s, 3) + pow(b, 3) + 0.4;
- if(sum == i)
- {
- printf("%d\n",i);
- }
- }
-
- return 0;
- }
复制代码
或者
- #include <stdio.h>
- #include <math.h>
- #define E (0.0000001)
- int main(void)
- {
- int i;
- for(i = 100; i <= 999; i++)
- {
- int g = i % 10;
- int s = i / 10 % 10;
- int b = i / 100;
- //消除double 误差
- double sum = pow(g, 3) + pow(s, 3) + pow(b, 3) - i;
- if(sum > -E && sum < E)
- {
- printf("%d\n",i);
- }
- }
-
- return 0;
- }
复制代码
|
|