結果

問題 No.327 アルファベット列
ユーザー masa
提出日時 2016-07-20 22:14:08
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 567 bytes
コンパイル時間 563 ms
コンパイル使用メモリ 68,092 KB
実行使用メモリ 6,820 KB
最終ジャッジ日時 2024-10-15 19:42:51
合計ジャッジ時間 2,364 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 50
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>
#include <cstdio>
#include <string>
#include <algorithm>

using namespace std;

string solve(long long n) {
	string s;
	n++;
	long long len = 1;
	long long len2 = 26;

	while (n > len2) {
		n -= len2;
		len2 *= 26;
		len++;
	}
	n--;

	for (int i = 0; i < len; i++) {
		s += 'A' + n % 26;
		n /= 26;
	}
	reverse(s.begin(), s.end());
	return s;
}

int main() {
	long long n;
	cin >> n;
	cout << solve(n) << endl;

	// for (int i = 0; i <= 26 * 30; i += 26) {
	// 	printf("%5d %3s %3s\n", i, solve(i).c_str(), solve(i-1).c_str());
	// }
	return 0;
}
0