求水仙花数的方法(求变种水仙花数)(1)

题目:变种水仙花数 - Lily Number:把任意的数字,从中间拆分成两个数字,比如1461 可以拆分成(1和461),(14和61),(146和1),如果所有拆分后的乘积之和等于自身,则是一个Lily Number。例如:1461 = 1*461 14*61 146*1

求出 5位数中的所有 Lily Number。

#include <stdio.h> #include <math.h> int main(){ int number,sum,count = 5; // count表示几位数 int digit; for(int number = pow(10,count-1);number < pow(10,count);number ){ sum = 0; digit = pow(10,count - 1); while(digit > 1){ sum = (number / digit) * (number % digit); //digit=1000 1*461 14*61 146* 1 digit /= 10; // 100 10 1 } if(sum == number){ printf("%d ",number); } } return 0; }

,