1. 题目描述
水仙花数 的定义:一个三位数(100~999)的各位数的立方和等于它本身。
打印:全部的水仙花数
2. 解题思路
- 定义
i
表示这个数值,定义gw
、sw
、bw
表示这个数的个、十、百位 - 循环遍历 100 ~ 999;
- 分离这个数的个、十、百位;
- 计算个、十、百位的立方和是否等于这个数。
3. 代码
#include<stdio.h> int main() { int i = 0; for (i = 100; i < 999; i++) { int gw = i % 10; // 个位 int sw = i / 10 % 10;// 十位 int bw = i / 100; // 百位 // 计算个、十、百位的立方和是否等于这个数 if ((gw * gw * gw) + (sw * sw * sw) + (bw * bw * bw) == i) { printf("%d ", i); } } return 0; }
运行结果: