电子商务网站建设书籍,建设通网站怎么注销,孔家庄网站建设,烟台电子商务网站现在有字符串组#xff1a; 第0项a0“IAKIOI”#xff1b; 第1项a1“WHENWILLSCORLLOFTAIWUCOMEOUT!!!”#xff1b; 之后的第k项由第k−2项第k−1项构成。 问第n项字符串的第c个字符是什么。
格式
输入格式#xff1a;
两个整数n,c意义如题
输出格式#xff1a; …现在有字符串组 第0项a0“IAKIOI” 第1项a1“WHENWILLSCORLLOFTAIWUCOMEOUT!!!” 之后的第k项由第k−2项第k−1项构成。 问第n项字符串的第c个字符是什么。
格式
输入格式
两个整数n,c意义如题
输出格式
一个字符表示答案
样例 1
输入
5 6输出
I备注
数据范围0≤n≤80,1≤c≤第n项字符串的长度
1.暴力代码6/10,超内存
#include bits/stdc.h
using namespace std;
int n, c1;
string b1[85];
int main()
{cin n c1;string b IAKIOI;string c WHENWILLSCORLLOFTAIWUCOMEOUT!!!;char d b;char e c;b1[0] b;b1[1] c;for (int i 2; i n; i){b1[i] b1[i - 2] b1[i - 1];}int i 0;while (1){if (b1[n][i] b){if (c1 6){c1 - 6;}else if (c1 6){cout b[c1-1];break;}}else if (b1[n][i] c){if (c1 31){c1 - 31;}else if (c1 31){cout c[c1-1];break;}}i;}
}
2.用int存。因为每次顺序都是固定的都是第k项(左右两边拼起来)第k-2项(左半边)第k-1项(右半边)所以如果ck-2则在左半边即在第k-2项中else在右半边k-1项中。之后继续递归到a0或a1即可。
注意点开long long 最后别忘记写return 0
#include bits/stdc.h
using namespace std;
long long int n, c;
long long int num[85];
string a0 IAKIOI;
string a1 WHENWILLSCORLLOFTAIWUCOMEOUT!!!;
void f(long long int n, long long int c)
{ // 递归函数找c在k-1项 or k-2项中一直递归直到c在a0和a1中if (n 0){cout a0[c - 1];return;}if (n 1){cout a1[c - 1];return;}// 第k项第k-2项第k-1项if (c num[n - 2]){ // c在前k-2项中f(n - 2, c);}else{ // c在后k-1项中f(n - 1, c - num[n - 2]);}
}int main()
{cin n c;num[0] 6, num[1] 31;for (long long int i 2; i n; i){num[i] num[i - 2] num[i - 1];}f(n, c);return 0;
}