小编use*_*395的帖子

确定Fibonacci字符串的各个字母?

Fibonacci字符串定义如下:

  • 第一个Fibonacci字符串是"a"
  • 第二个Fibonacci字符串是"bc"
  • (n + 2)和Fibonacci字符串是前两个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)

c++ string algorithm fibonacci

8
推荐指数
2
解决办法
3766
查看次数

包含1的数字

我怎么能找到qt.数字包括段[1..n]中的1?例如:对于n = 29,它是12; 对于n = 100,它是20.n可以达到10 ^ 9,时间限制是2秒.语言C++

c++ algorithm

1
推荐指数
1
解决办法
441
查看次数

标签 统计

algorithm ×2

c++ ×2

fibonacci ×1

string ×1