码迷,mamicode.com
首页 > 其他好文 > 详细

Project Euler 56: Powerful digit sum

时间:2019-11-13 16:36:11      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:它的   lam   return   题目   sum   最大值   暴力   一个   pre   

一个古戈尔也就是\(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

标签:它的   lam   return   题目   sum   最大值   暴力   一个   pre   

原文地址:https://www.cnblogs.com/metaquant/p/11849964.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!