题解 | #变种水仙花#
变种水仙花
https://www.nowcoder.com/practice/c178e3f5cc4641dfbc8b020ae79e2b71
#include <stdio.h> #include <math.h> //实现一个判断函数,该函数经过改造后可以判断任何位数的Lily_Number int is_Lily_Number(int n) { //判断位数 int tmp = n; int count = 0; while(tmp) { tmp /= 10; count++; } //乘积之和 int sum = 0; for(int i = 1; i <= count; i++) { sum += (n/(int)pow(10, i)) * (n%(int)pow(10, i)); } //判断是否相等 if(sum == n) return sum; else return -1; } int main() { int i = 0; for(i=10000; i <= 99999; i++) { if(is_Lily_Number(i) != -1) printf("%d ", i); } return 0; }