在C ++中找到龙曲线序列的第n个项
在这里,我们将看到一个程序,该程序可以找到“龙曲线”序列的第n个项。龙曲线序列是一个无限的二进制序列。它从1开始,在每个步骤中,它交替地在上一项的每个元素之前和之后加上1和0,以形成下一项。
期限1:1
第二学期:110
第三学期:1101100
第4学期:110110011100100
我们将从1开始,然后在上一项的每个元素之后添加1和0。当获得的新项成为当前项时,然后重复步骤1至n以生成下一项。
示例
#include <iostream>
using namespace std;
string dragCurveTerm(int n) {
string term = "1";
for (int i = 2; i <= n; i++) {
string temp = "1";
char prev = '1', zero = '0', one = '1';
for (int j = 0; j < term.length(); j++) {
temp += term[j]; //take character from original string
if (prev == '0') {
temp += one;
prev = one;
} else {
temp += zero;
prev = zero;
}
}
term = temp;
}
return term;
}
int main() {
cout << "4th term of Dragon Curve Sequence: " << dragCurveTerm(4);
}输出结果
4th term of Dragon Curve Sequence: 110110011100100
热门推荐
1 泰迪狗狗如何训练
3 狗狗训练图
5 狗狗训练方法
6 训练狗狗不咬人
8 敏捷训练狗狗
10 训练狗狗吃饭
11 泰迪狗狗训练
12 狗狗从多大开始训练
13 狗狗训练学校费用
14 怎么去训练狗狗
15 狗狗训练狗狗
16 狗狗训练教程
17 训练狗狗装死
18 泰迪狗狗的训练方法