变种水仙花数 - 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。
变种水仙花数 - 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。
无
一行,5位数中的所有 Lily Number,每两个数之间间隔一个空格。
def is_lily_number(number):
bool_number = 0
self_number_str = str(number)
for i in range(1, len(str(number))):
bool_number = bool_number + int(self_number_str[:i]) * int(self_number_str[i:])
if bool_number == number:
return True
return False
all_lily_number_5 = []
for i in range(10000, 100000):
if is_lily_number(i):
all_lily_number_5.append(i)
print(" ".join(map(str, all_lily_number_5)))