ABC171 C問題
要約
問題文からなんとなく26周期で変化していくことがつかめる.
26進数を考えればいいのかと考えるが,上手く合わない.
原因は0がないから.
つまり26進数だったら,26 = 10(26)となる.今回は26 = z となり微妙に端がずれてくる.しばらく考えて,とりあえず26で割った余りに注目して,Nを26ずつ割って行けば突破口が見えそうだと思い始める.
結局,例えば 1 % 26 = 1 = a のように0 = aとならないずれがこの26進数のときとのずれを引き起こすことが分かる.
そのため,N = N -1 と毎ループすることで対応する文字と合う.
N = int(input())
char = "abcdefghijklmnopqrstuvxywz"
ans = ""
N = N - 1
while( N >= 0):
ans += char[N % 26]
N = N //26
N = N-1
#print (ans)
print(ans)
この記事が気に入ったらサポートをしてみませんか?