結果
問題 |
No.327 アルファベット列
|
ユーザー |
|
提出日時 | 2021-08-08 17:05:22 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 29 ms / 2,000 ms |
コード長 | 882 bytes |
コンパイル時間 | 210 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 10,880 KB |
最終ジャッジ日時 | 2024-09-19 13:42:53 |
合計ジャッジ時間 | 2,860 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 50 |
ソースコード
def alphabet(N): N = N + 1 M = N p = 1 n = 1 while True: if M - (26 ** p) > 0: M = M - (26 ** p) p += 1 else: break p -= 1 li = [0 for i in range(p + 1)] for l in range(len(li)): bef = 0 for x in range(p - l): bef += 26 ** x for n in range(1, 28): if (l == len(li) - 1) and (N - n * (26 ** (p - l)) == 0): li[l] = 0 + n break elif N - n * (26 ** (p - l)) < bef: n = n - 1 li[l] = 0 + n N = N - n * (26 ** (p - l)) break S = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' ans = '' for j in range(len(li)): ans = ans + S[li[j] - 1] return ans def main(): N = int(input()) print(alphabet(N)) if __name__ == '__main__': main()