int main()
{
int i, j;
for (i = 1; i < 99999; i++)
{
int sum = 0;
for (j = 10; j <= 10000; j *= 10)//1.10 2.100 3.1000随着循环下去,/ 和%都自然而然得到想到的拆分数字
{
sum += (i / j) * (i % j);//146*1 14*61 1*461
}
if (sum == i)
{
printf("%d\t", i);
}
}
return 0;
}
变种水仙花数 - Lily Number:把任意的数字,从中间拆分成两个数字,比如1461 可以拆分成(1和461),(14和61),(146和1),如果所有拆分后的乘积之和等于自身,则是变种水仙花数
最新推荐文章于 2024-06-15 17:37:41 发布