Symbol(clack:cancel)
This commit is contained in:
14
solutions/0000_0029/0016.PowerDigitSum/eular_16.hs
Normal file
14
solutions/0000_0029/0016.PowerDigitSum/eular_16.hs
Normal file
@@ -0,0 +1,14 @@
|
||||
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
|
||||
17
solutions/0000_0029/0016.PowerDigitSum/eular_16.py
Normal file
17
solutions/0000_0029/0016.PowerDigitSum/eular_16.py
Normal file
@@ -0,0 +1,17 @@
|
||||
"""
|
||||
2^15 = 32768 and the sum of its digits is 3 + 2 + 7 + 6 + 8 = 26.
|
||||
|
||||
What is the sum of the digits of the number 2^1000 ?
|
||||
"""
|
||||
|
||||
|
||||
def power_digit_sum(n):
|
||||
return sum(int(digit) for digit in str(2**n))
|
||||
|
||||
|
||||
def main():
|
||||
print(power_digit_sum(1000))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user