1 回答
TA贡献1719条经验 获得超6个赞
这是我的解决方案,它检查将给定数字分成 3 部分的所有可能组合,并检查前两个分量的总和是否等于第三个分量。
def correct_number(x):
str_nmbr = str(x)
for result_split in range(len(str_nmbr)-2):
part_3 = int(str_nmbr[-result_split-1:])
for components_split in range(len(str_nmbr)-2-result_split):
part_2 = int(str_nmbr[1+components_split: -result_split-1])
part_1 = int(str_nmbr[:components_split+1])
if part_1 + part_2 == part_3:
return True
return False
print(correct_number(9999198)) # True
正如作者所要求的,这里给出了如何确定数字部分的视觉解释,给定数字“1234567”
1 2 3 4 5 6 7:
第一个循环选择第二个分隔符
1 2 3 4 5 6|7
第二个循环选择第一个
1 2|3 4 5 6|7
1 2 3|4 5 6|7
1 2 3 4|5 6|7
1 2 3 4 5|6|7
. . . 然后我们将第二个第二个分隔符向后移动 1 步
1 2 3 4 5|6 7
我们继续移动第一个分隔符
1|2 3 4 5|6 7
1 2|3 4 5|6 7
1 2 3|4 5|6 7
. . .
添加回答
举报