Project Euler 56: Powerful digit sum

Posted metaquant

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Project Euler 56: Powerful digit sum相关的知识,希望对你有一定的参考价值。

一个古戈尔也就是(10^{100})是一个天文数字,一后面跟着一百个零。(100^{100})更是难以想像的大,一后面跟着两百个零。但是尽管这个数字很大,它们各位数字的和却只等于一。考虑两个自然数(a,b)形成的指数(a^b(a,b<100)),其最大的各位数字之和是多少?

分析:此题思路比较直接,暴力求解即可。在题目给它的范围内,(a^b)可以形成9801个数,计算这些数,求其各位数之和并返回其最大值,即为题目所求。

# time cost = 190 ms ± 515 μs

def main():
    str_sum = lambda y : sum([int(x) for x in str(y)])
    res = max([str_sum(a**b) for a in range(1,100) for b in range(1,100)])
    return res

以上是关于Project Euler 56: Powerful digit sum的主要内容,如果未能解决你的问题,请参考以下文章

Project Euler 109 :Darts 飞镖

Project Euler 5

Project Euler

project euler 169

Project Euler

Project Euler 3