OpenJudge NOI 1.5 25:求特殊自然数
生活随笔
收集整理的這篇文章主要介紹了
OpenJudge NOI 1.5 25:求特殊自然数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【題目鏈接】
OpenJudge NOI 1.5 25:求特殊自然數
【題目考點】
1. 數制
2. 暴力搜索
【解題思路及題解代碼】
解法1:
已知某十進制數字在七進制和九進制下是數字順序相反的三位數字。
這兩個數字的值是相等的,根據數制的知識,將這兩個數字按位權展開,并用等號連接,有:
a?72+b?7+c=c?92+b?9+aa*7^2 + b*7 + c = c*9^2 + b*9 + aa?72+b?7+c=c?92+b?9+a
整理得:
48a?2b?80c=048a - 2b -80c = 048a?2b?80c=0
a是abc的第一位數字,c是cba的第一位數字,都不能為0
abc是七進制數字,每一位的數碼只能是0~6中的一個。
暴力搜索a,b,c的所有可能取值,即可搜索到滿足條件的a,b,c
而后可以求得:
十進制數字:a?72+b?7+ca*7^2 + b*7 + ca?72+b?7+c
七進制數字:abc
九進制數字:cba
解法2:
九進制三位數最小值為(100)9=(81)10(100)_9 = (81)_{10}(100)9?=(81)10?,七進制三位數最大值為(666)7=(342)10(666)_7 = (342)_{10}(666)7?=(342)10?
十進制下81~342的數字無論轉化成七進制還是九進制都是三位數。
遍歷81到342的所有十進制數字,求出其對應的七進制和九進制數字的字符串,判斷這兩個字符串是否是順序相反的。如果找到滿足條件的數字,那么就輸出結果。
總結
以上是生活随笔為你收集整理的OpenJudge NOI 1.5 25:求特殊自然数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛一本通 2035:【例5.2】
- 下一篇: 信息学奥赛一本通 1084:幂的末尾 |