少し面白い問題!
問題概要
長さが 1, 2, 3 のいずれかの文字列 が与えられる。
を繰り返して得られる文字列であって、長さが 6 であるものを答えよ。
考えたこと
次のように考えれば良い。
の長さが 1 のとき:
を 6 回繰り返す
の長さが 2 のとき:
を 3 回繰り返す
の長さが 3 のとき:
を 2 回繰り返す
あとは、これを実装すればよい。
コード
ここでは for 文を使わずに実装したが、for 文を用いるともう少し簡潔に書ける。
#include <bits/stdc++.h> using namespace std; int main() { string S; cin >> S; if (S.size() == 1) { cout << S << S << S << S << S << S << endl; } else if (S.size() == 2) { cout << S << S << S << endl; } else { cout << S << S << endl; } }