feat(euler_37.py):修复combine_lists函数处理空列表的情况,并改进输出格式显示每个截断素数

📝 docs(0037.TruncatablePrimes):添加readme.md文档解释截断素数只有11个的原因
 feat(euler_38.py):新增全数字倍数问题的解决方案,包含优化算法和详细注释
This commit is contained in:
2026-01-08 14:38:53 +08:00
parent 5b1a9f0e4e
commit 745989cb32
3 changed files with 113 additions and 1 deletions

View File

@@ -26,6 +26,8 @@ def timer(func):
def combine_lists(a: list[int], b: list[int | None], c: list[int]) -> list[int]:
"""将三个列表的每个元素组合成数字"""
if b in [[],[None]] :
return [int(f"{x}{z}") for x, z in product(a, c)]
return [int(f"{x}{y}{z}") for x, y, z in product(a, b, c)]
@@ -80,7 +82,10 @@ def TruncatablePrime() -> list[int]:
@timer
def main():
print(sum(TruncatablePrime()))
nums = TruncatablePrime()
for num in nums:
print(num)
print(f"Answer: {sum(nums)}")
if __name__ == "__main__":