Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Tạo tên thú cưng với chữ O ở vị trí Fibonacci bằng C++

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