原题
输出所有的水仙花数,所谓水仙花数是指一个3位数,其各位数字立方和等于该数本身。
解题
思路
初始化i=100。
取i的各位数,百位a,十位b,个位c。
判断i==a∧3+b∧3+c∧3 是否成立
如果成立则输出,否则不输出。
i=i+1,当i小于1000重复,否则结束。
关键算法:取任意三位数的各位数
算法一:除减法
将数除以100,由整型数据特点,小数点后被忽略,取得百位a。
该数减去a * 100,除以10,得到十位b。
该数减去a * 100和b * 10即得个位c。
代码实现
a = i / 100;b = (i - 100 * a) / 10;c = i - 100 * a - 10 * b;
完整代码:
void NarcissusNumber(int m) { int a; //三