变种水仙花
题干要求:
变种水仙花数 - 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。
思路:
关键在于怎么样能够分开这些数字,尝试% /可以
代码如下:
#include <stdio.h>
int main()
{
for(int i=10000;i<=99999;i++)
{
int sum=0;
int tmp=i;
for(int j=10;j<=10000;j*=10)
{
sum+=(tmp%j)*(tmp/j);
}
if(sum==i)
{
printf("%d ",i);
}
}
return 0;
}
);
}
}
return 0;
}