文字列のいい感じの問題!
問題概要
文字 'A' を 個、'B' を
個、…、'Z' を
個、この順に繋げて得られる文字列の先頭から
番目の文字を求めてください。
制約
考えたこと
実際に文字列を作り、その 番目にアクセスすればよい。
実際に文字列を作る部分は、次のようにできる。全体としては 2 重の for 文となる。
string res = ""; for (char c = 'A'; c <= 'Z'; c++) { res に文字 c を N 個付け足す; }
コード
#include <bits/stdc++.h> using namespace std; int main() { int N, X; cin >> N >> X; string res = ""; for (char c = 'A'; c <= 'Z'; c++) { // res に文字 c を N 個付け足す for (int i = 0; i < N; ++i) { res += c; } } // X 番目の文字を出力 (0 始まりなので res[X - 1] が答え) cout << res[X - 1] << endl; }