feat(0029.DistinctPowers):添加欧拉项目第29题解决方案

📝 docs(0029.DistinctPowers):添加问题描述和解题思路文档
 feat(euler_29.py):实现基础解决方案和高效算法
 feat(euler_29_best.py):实现基于容斥原理的最优解决方案
This commit is contained in:
2025-12-26 17:31:57 +08:00
parent 2498e79d50
commit 266544ac47
3 changed files with 236 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
# Distinct Powers
只需要比较所有可能重复的底和幂找到有多少这样的a^b就能知道有多少重复。
这个逻辑最为简单,我自己的实现免费处理较大额的底和幂的情况,这点我暂时没想到好方法。
当看到 [WP(Page 5)](https://projecteuler.net/post_id=92910) 的方法,我才明白自己的问题在哪。
这类问题真的是,单纯解出来不算什么,如何使用数学更简单更快捷的解出来,才是难的。
核心关键点是组合数学的[容斥原理](https://zh.wikipedia.org/wiki/%E6%8E%92%E5%AE%B9%E5%8E%9F%E7%90%86)。
因为幂的数学特点可能需要多次应用容斥原理以确保不重复计算。这也是我自己方法和WP方法的差距所在。