No Caffeine, No Life

プログラミング(主にPython)

Pythonで回文

Code IQ からの問題:

2進数や16進数はよく使うエンジニア。でも、n進数と言われたら…

ここでは指定された値を基数とするように変換してみます。

複数の基数が指定されたとき、そのいずれでも回文数となるような数を求めます。

回文数とは左から読んでも右から読んでも同じである数のことです

 

例えば、10進数の「20」は2進数だと「10100」で回文数ではありませんが、3進数では「202」なので回文数です。

 

標準入力から2つの数字が与えられた時、この2つの数字を基数とする数に変換することを考えます。

10進数で10以上の数のうち、上記の条件を満たすような最小の数を出力してください。

 Pythonでは基数の変換に対する簡単な関数(Rubyで言うところのto_sメソッド)がないので、n進数の定義に従って求める関数を作っておく(この関数はここから引用しています)。

Base_Exchange_Palindrome

 

広告を非表示にする