首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >项目Euler #11: Python解决方案无法工作

项目Euler #11: Python解决方案无法工作
EN

Stack Overflow用户
提问于 2012-01-26 04:37:29
回答 1查看 2.3K关注 0票数 2

在20×20网格中,四个相邻数在任意方向(上、下、左、右、对角)的最大乘积是什么?

http://projecteuler.net/problem=11

我从数字中创建了二维元组列表。

LIST =(8,2,22,.),(49,49,99,.)

这是我的解决办法。我找不出逻辑上的缺陷。

(编辑):我的答案是51267216,但不正确。

代码语言:javascript
运行
复制
# For every number check diagnolly, down and right if the product exceeds max_product. 
# Ignore the exception(OutOfBounds) if encountered.
max_product = 0

for i in range(20):
    for j in range(20):
            temp = 1
            try: 
                for k in range(4):
                    temp = temp * LIST[i][j+k]
                if (temp > max_product):
                    max_product = temp
            except:
                pass

            temp = 1
            try: 
                for k in range(4):
                    temp = temp * LIST[i+k][j]
                if (temp > max_product):
                    max_product = temp
            except:
                pass

            temp = 1
            try:
                for k in range(4):
                    temp = temp * LIST[i+k][j+k]
                if (temp > max_product):
                    max_product = temp
            except:
                pass


print max_product
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-26 04:43:54

你是不是忘记了有两个对角线方向?

票数 26
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9014001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档