Mô tả bài toán
Cho n. Tạo tên độ dài n chỉ chứa 'O' và 'o'. Ký tự i (1-based) là 'O' nếu i là số Fibonacci, ngược lại 'o'.
Ví dụ
n=10 → Fibonacci: 1,2,3,5,8 → "OOOoOooOoo".
Thuật toán
Khởi tạo chuỗi n ký tự 'o'. Duyệt dãy Fibonacci (i=1, j=1; i<=n; i+=j, j=i-j) đặt s[i-1]='O'.
Code C++
#include <bits/stdc++.h>
using namespace std;
string solve(int n) {
string s(n, 'o');
for (int i = 1, j = 1; i <= n; i += j, j = i - j)
s[i-1] = 'O';
return s;
}
int main() {
int n = 10;
cout << solve(n) << endl;
return 0;
}
Đầu vào / Đầu ra
Input: 10
Output: OOOoOooOoo