using System; using System.Diagnostics; namespace yukicoder { class Program { static void Main(string[] args) { //文字列入力 string S = Console.ReadLine(); string[] a = { "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" }; //入力した配列 string[] s = new string[S.Length]; //文字列の一部分の取得 for (int i = 0; i < S.Length; i++) { string str = S.Substring(i, 1); s[i] = str; } //26を何回するか int x = S.Length / 26; int y = S.Length % 26; //一文字とる  for (int i=1;i<=S.Length;i++) { for (int j = 1; j <= a.Length; j++) { //アルファベットから数値にする if (s[i - 1] == a[j-1]) { //数値求める int c = j - i; //26足す回数 for (int k = 0; k < x+y; k++) { if (c <= 0) { c += 26; } if(c>0&&c>=26) { break; } } //数値の数だけアルファベット移動させる, s[i - 1] = a[c-1]; Debug.WriteLine(s[i - 1]); break; } } } //表示 for (int i = 1; i <= S.Length; i++) { Console.Write(s[i-1]); } } } }