✨ feat(eular_13.py):新增超大整数加法解决方案 📝 docs(eular_13.md):添加算法说明文档 ✨ feat(eular_14.py):新增Collatz序列最长链计算 📝 docs(eular_14.md):添加性能优化说明 ✨ feat(eular_15.py):新增网格路径组合数学解法 📝 docs(eular_15.md):添加组合数学详细说明 ✨ feat(eular_16.py):新增幂数字和计算功能 ✨ feat(eular_16.hs):新增Haskell版本实现
15 lines
453 B
Haskell
15 lines
453 B
Haskell
import Data.Char (digitToInt)
|
|
|
|
-- 计算 b^n 的各位数字之和
|
|
powerDigitSum :: Integer -> Integer -> Integer
|
|
powerDigitSum b n = sum . map digitToInt . show $ b ^ n
|
|
|
|
-- 示例使用
|
|
main :: IO ()
|
|
main = do
|
|
-- 测试用例
|
|
print $ powerDigitSum 2 15 -- 32768 → 3+2+7+6+8 = 26
|
|
print $ powerDigitSum 10 100 -- 1后跟100个0 → 1
|
|
print $ powerDigitSum 3 3 -- 27 → 2+7 = 9
|
|
print $ powerDigitSum 2 1000
|