首页 > 试题广场 >

斐波那契

[编程题]斐波那契
  • 热度指数:272 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\,\,\,\,\,\,\,\,\,\,小红特别喜欢斐波那契数列,所以他想问你,在前 斐波那契数中(保证 n \leq 66),谁包含数位 的次数最多(如果有多个就输出最小的)。
\,\,\,\,\,\,\,\,\,\,

\,\,\,\,\,\,\,\,\,\,我们定义斐波那契数列如下:\operatorname{Fib}_n = \begin{cases}<br />1&1\le n \le 2\\<br />\operatorname{Fib}_{n-1}+\operatorname{Fib}_{n-2}&3 \le n<br />\end{cases} ,第 i 个斐波那契数即 {\rm Fib}_i 。
\,\,\,\,\,\,\,\,\,\,例如,前 个斐波那契数为 ,包含数位 的次数最多的为 (包含 次)。

输入描述:
\,\,\,\,\,\,\,\,\,\,在一行上输入两个整数 n,k \left( 1\le n \le 66;\ 0\le k \le 9\right) 。


输出描述:
\,\,\,\,\,\,\,\,\,\,在一行上输出一个整数,代表最小的包含数位 k 最多的斐波那契数。保证一定存在这样的数字。
示例1

输入

5 2

输出

2

说明

该样例已在题目中加以解释。
示例2

输入

30 6

输出

6765

说明


备注:
头像 Medizana
发表于 2025-08-03 11:29:50
import sys def parse_input(): n, k = map(int, sys.stdin.readline().strip().split()) return n, k def count_k(num, k) -> int: count = 0 展开全文
头像 有胆量的柯基在学习
发表于 2025-08-22 14:33:55
#include <bits/stdc++.h> using namespace std; // 统计 x 中数字 k 出现次数 int cntDigit(long long x, long long k) { int c = 0; while (x) { 展开全文