把任意的数字,从中间拆分成两个数字,比如1461 可以拆分成(1和461),(14和61),(146和1),如果所有拆分后的乘积之和等于自身,则是一个Lily Number
我们寻得规律为除数*余数+除数*余数。
如1461=(1461/1000+1461%1000)+(1461/100+1461%100)+(1461/10+1461%10);
我们就可以知道五位数的运算规律
XXXXX=(XXXXX/10000+XXXXX%10000)+....+(XXXXX/10+XXXXX%10);
所以我们将所有对应的算式设置未知数;
之后我们将10000-99999的每一个数字进行,所以设置一个循环
然后加上判断即可
所以总代码
#include<stdio.h>
int main()
{
int a, b, c, d, A, B, C, D;
for (int num = 10000; num < 100000; num++)
{
a = num / 10000; A = num % 10000;
b = num / 1000; B = num % 1000;
c = num / 100; C = num % 100;
d = num / 10; D = num % 10;
if (num == a * A + b * B + C * c + d * D)
{
printf("%ld ", num);
}
}
return 0;
}