欧拉问题编号4

编程入门 行业动态 更新时间:2024-10-19 11:39:30
本文介绍了欧拉问题编号4的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我正在使用Python解决问题#4 Project Euler 问题.有人可以告诉我我做错了什么吗?问题是查找由两个3位数字的乘积组成的最大回文.到目前为止,这就是我所拥有的.

Using Python, I am trying to solve problem #4 of the Project Euler problems. Can someone please tell me what I am doing incorrectly? The problem is to Find the largest palindrome made from the product of two 3-digit numbers. Here is what I have thus far.

import math def main(): for z in range(100, 1000): for y in range(100, 1000): for x in range(1, 1000000): x = str(x) if x == x[::-1] and x == z*y: print x if __name__ == '__main__': main()

推荐答案

一些效率问题:

  • 从顶部开始(因为我们可以在跳过很多计算时使用它)
  • 不要重复计算
  • def is_palindrome(n): s = str(n) return s == s[::-1] def biggest(): big_x, big_y, max_seen = 0,0, 0 for x in xrange(999,99,-1): for y in xrange(x, 99,-1): # so we don't double count if x*y < max_seen: continue # since we're decreasing, # nothing else in the row can be bigger if is_palindrome(x*y): big_x, big_y, max_seen = x,y, x*y return big_x,big_y,max_seen biggest() # (993, 913, 906609)

    更多推荐

    欧拉问题编号4

    本文发布于:2023-11-29 20:43:53,感谢您对本站的认可!
    本文链接:https://www.elefans.com/category/jswz/34/1647579.html
    版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
    本文标签:编号   欧拉

    发布评论

    评论列表 (有 0 条评论)
    草根站长

    >www.elefans.com

    编程频道|电子爱好者 - 技术资讯及电子产品介绍!