下面是一个用C++实现上述问题的代码:

#include <iostream>
#include <string>

using namespace std;

char findCharacter(string s, int n) {
    int length = s.length();
    
    while (length < n) {
        s += s;
        for (int i = length - 1; i >= 0; i--) {
            if (s[i] == 'Y') {
                s += 'N';
            } else {
                s += 'Y';
            }
        }
        length = s.length();
    }
    
    return s[n - 1];
}

int main() {
    string s;
    int n;
    cin >> s >> n;
    
    char result = findCharacter(s, n);
    cout << result << endl;
    
    return 0;
}

在这个代码中,我们定义了一个findCharacter函数,用于计算复制翻转生成的字符串中第n位的字符。在函数中,我们使用了一个循环来不断复制和翻转字符串,直到字符串的长度第一次超过n。然后,我们返回字符串中第n位的字符。

main函数中,我们首先读取初始字符串s和n。然后,调用findCharacter函数来计算结果,并输出结果。

希望对你有帮助

用c++做一个问题:题目描述小维、超超、文文、小影一起参观科技馆他们并排站在两面平行的镜子中间看到两面镜子中有无数个对称并排的自己这种现象叫德罗斯特效应是一种递归的视觉形式以无限循环的方式形成深入内部、逐渐变小的视觉效果。相似的字符串通过无数次的翻转复制也可以生成无限长的对称字符串例如字符串YN第次复制翻转后为YNNY第2次复制翻转后为YNNYYNNY第t次字符串长度不需要一直延伸只需到第n字符所

原文地址: https://www.cveoy.top/t/topic/hF6M 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录