Fibonacci字符串定义如下:
例如,前几个Fibonacci字符串是
a
bc
abc
bcabc
abcbcabc
Run Code Online (Sandbox Code Playgroud)
给定行和偏移量的目标是确定该偏移处的字符.更正式的:
输入:由空格分隔两个整数- K和P(0 <K≤10 9),(<P≤10 9),其中K是斐波纳契串的行数,而P是在一行中的位置编号.
输出:相关测试的所需字符:"a","b"或"c".如果P大于第k行(K≤10更大9),有必要导出«否溶液»
例:
输入: 18 58
输出: a
我写了这段代码来解决问题:
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
int k, p;
string s1 = "a";
string s2 = "bc";
vector < int >fib_numb;
fib_numb.push_back(1);
fib_numb.push_back(2);
cin >> k >> p;
k -= 1;
p -= 1;
while (fib_numb.back() < p) {
fib_numb.push_back(fib_numb[fib_numb.size() - 1] …Run Code Online (Sandbox Code Playgroud) 我怎么能找到qt.数字包括段[1..n]中的1?例如:对于n = 29,它是12; 对于n = 100,它是20.n可以达到10 ^ 9,时间限制是2秒.语言C++