用Python解答ProjectEuler問題(4)
E004
A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 99.
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.
水仙花數是從左向右和從右向左讀都相同的自然數。求兩個三位數的乘積中最大的水仙花數。
def problem4(): min, max = 100, 999 def isPalindromic(num): if num<=10: return False digits = list(str(num)) revdigs = list(str(num)) revdigs.reverse() return digits==revdigs x = y = avg = max while avg>=min: num = x*y if isPalindromic(num): return x,y,num elif x<=min or y>=max: avg -= 0.5 x = int(avg) y = int(avg+0.5) else: x -= 1 y += 1 if __name__==`__main__`: print str(problem4())
考慮兩個三位數乘積最大的是 999×999, (平均數999)
其次是 998×999, (平均數998.5)
再次是 998×998, 997×999, (平均數998)
然後是 997×998, 996×999, (平均數997.5)
……
相關文章
- 用Python解答ProjectEuler問題(3)PythonProject
- 用Python解答ProjectEuler問題(1)PythonProject
- Python list,dict問題解答Python
- Python程式設計常見問題與解答Python程式設計
- JVM問題及解答JVM
- Docker面試問題與解答Docker面試
- Oracle常用問題及解答Oracle
- xmlhttp的問題,盼望解答XMLHTTP
- APatch常見問題解答
- VMware 4虛擬機器的三個問題解答思路(轉)虛擬機
- Python工程師必看的面試問題與解答(中)Python工程師面試
- LeetCode-two sum:python解答陣列問題LeetCodePython陣列
- 軟體新人問題解答(一)
- Ubuntu 常見問題和解答Ubuntu
- Linux常見問題解答Linux
- BREW常見問題解答(FAQ 4)-語言和作業系統 (轉)作業系統
- CMMI4級實踐中的5個經典問題及解答
- [譯] HTTP/2 常見問題解答HTTP
- RapidWeaver 8常見問題解答API
- 小遊戲引擎常見問題解答遊戲引擎
- [翻譯]K-99問題解答
- 【from MM】Flex 常見問題解答Flex
- vi 命令常見問題解答(轉)
- Windows 98 常見問題解答(轉)Windows
- C# 面試問題與解答1C#面試
- Python資料分析初體驗,需要解答的三大問題!Python
- 不同應用場景的10個Linux面試問題與解答Linux面試
- Rhinoceros 6 for Mac的常見問題解答ROSMac
- 關於CleanMyMac常見問題與解答Mac
- Java面試常被問到的題目+解答Java面試
- SQL Server的安全設定問題解答SQLServer
- 專案管理常見問題解答(轉)專案管理
- NSIS 之 NsDialogs 常見問題解答
- 犀牛Rhinoceros 6 for Mac的常見問題解答ROSMac
- HTTPS總結+相關面試問題解答HTTP面試
- 30 個 Openstack 經典面試問題和解答面試
- ViewModel和LiveData問題思考與解答ViewLiveData
- 固態硬碟常見問題及其解答分享硬碟