結果
| 問題 |
No.327 アルファベット列
|
| コンテスト | |
| ユーザー |
bayashiko_r
|
| 提出日時 | 2019-01-07 02:07:57 |
| 言語 | C#(csc) (csc 3.9.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,209 bytes |
| コンパイル時間 | 819 ms |
| コンパイル使用メモリ | 104,192 KB |
| 実行使用メモリ | 34,560 KB |
| 最終ジャッジ日時 | 2024-11-24 00:20:07 |
| 合計ジャッジ時間 | 9,354 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | WA * 3 |
| other | WA * 8 RE * 40 TLE * 2 |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System;
class Program {
static void Main(string[] args) {
//入力
int N = int.Parse(Console.ReadLine());
int kari = N;
//桁数を数える
int digit = 1;
int sum = 0;
//A~Zの配列
char[] let = new char[26] { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};
for (int i = 0; i < N; i++) {
sum += (int)Math.Pow(26, i + 1);
if (N < sum) {
break;
}
kari -= (int)Math.Pow(26, i + 1);
digit++;
}
Console.WriteLine(digit);
//回答となる文字列
char[] ans = new char[digit];
ans[digit - 1] = let[kari % 26]; //一番下のケタ
//各桁を調べていく(最初のケタ~下から二桁目まで)
for (int i = 0; i <= digit - 2; i++) {
ans[i] = let[kari / (int)Math.Pow(26, digit - i)];
kari -= kari * 26 / (int)Math.Pow(26, digit - i - 1);
}
//出力
for (int i = 0; i < digit; i++) {
Console.Write(ans[i]);
}
}
}
bayashiko_r