zoukankan      html  css  js  c++  java
  • Project Euler Problem4

    Largest palindrome product

    Problem 4

    A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 ×99.

    Find the largest palindrome made from the product of two 3-digit numbers.

    The python code is as follows:

    def isPalindromic(data):
        list = []
        while data > 10:
            list.append(data%10)
            data = int(data/10)
        list.append(data)
        print(list)
        i = 0
        j = len(list)-1
        while i < j:
            if list[i] != list[j]:
                return False
            i += 1
            j -= 1
        return True
        
    a = 999
    total = 0
    result = 0
    targetA = 0
    targetB = 0
    while a >= 100:
        b = 999
        if a*b < result:
            break
        while b >= 100:
            total = a*b
            if total < result:
                break
            if isPalindromic(total):
                result = total
                targetA = a
                targetB = b
            b -= 1
        a -= 1
        
    print(result)
    print(targetA)
    print(targetB)
    

      Assuming b is large than a, we can rewrite the code like this:

    def isPalindromic(data):
        list = []
        while data > 10:
            list.append(data%10)
            data = int(data/10)
        list.append(data)
        print(list)
        i = 0
        j = len(list)-1
        while i < j:
            if list[i] != list[j]:
                return False
            i += 1
            j -= 1
        return True
        
    a = 999
    total = 0
    result = 0
    targetA = 0
    targetB = 0
    while a >= 100:
        b = 999
        if a*b < result:
            break
        while b >= a:
            total = a*b
            if total < result:
                break
            if isPalindromic(total):
                result = total
                targetA = a
                targetB = b
            b -= 1
        a -= 1
        
    print(result)
    print(targetA)
    print(targetB)
    

      

  • 相关阅读:
    Linux与Windows命令的比较
    操作系统的启动过程
    Spyder快捷键
    pytoch的最佳打开方式
    操作系统逻辑结构
    插值法
    bzoj3509[CodeChef]COUNTARI
    bzoj2969 矩形粉刷
    hdu5575 Discover Water Tank
    bzoj3473字符串&bzoj3277串
  • 原文地址:https://www.cnblogs.com/tianxiaozz/p/3471321.html
Copyright © 2011-2022 走看看