#include <stdio.h> /* 描述 变种水仙花数 - Lily Number:把任意的数字,从中间拆分成两个数字, 比如1461 可以拆分成(1和461),(14和61),(146和1), 如果所有拆分后的乘积之和等于自身,则是一个Lily Number。 例如: 655 = 6 * 55 + 65 * 5 1461 = 1*461 + 14*61 + 146*1 求出 5位数中的所有 Lily Number。 一行,5位数中的所有 Lily Number,每两个数之间间隔一个空格 */ int main() { int i = 0; int n = 0; int sum = 0; int num = 0; int m = 10; for (i = 10000; i <= 99999; i++) { n = i; m = 10; num = 0; while (n != 0) { n = i; sum = n % m; n /= m; num += n * sum; m *= 10; } if (num == i) { printf("%d ", i); } } return 0; } /* 1461 1 146 146 * 1 + */