CF2033F.Kosuke's Sloth

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Kosuke 太懒了。他不会给你任何背景,只给你任务:

斐波那契数列定义如下:

  • f(1)=f(2)=1f(1)=f(2)=1。
  • f(n)=f(n−1)+f(n−2)f(n)=f(n-1)+f(n-2),其中 n≥3n \ge 3。

我们用 G(n,k)G(n,k) 表示第 nn 个能被 kk 整除的斐波那契数在原始斐波那契数列中的下标。给定 nn 和 kk,请计算 G(n,k)G(n,k)。由于这个数可能非常大,请输出其对 109+710^9+7 取模的结果。

例如:G(3,2)=9G(3,2)=9,因为第 33 个能被 22 整除的斐波那契数是 3434。[1,1,2,3,5,8,13,21,34][1,1,\textbf{2},3,5,\textbf{8},13,21,\textbf{34}]。

输入格式

输入的第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4),表示测试用例的数量。

接下来每个测试用例一行,包含两个整数 nn 和 kk(1≤n≤10181 \le n \le 10^{18},1≤k≤1051 \le k \le 10^5)。

保证所有测试用例中 kk 的总和不超过 10610^6。

输出格式

对于每个测试用例,输出一个整数:G(n,k)G(n,k) 对 109+710^9+7 取模的结果。

输入输出样例

  • 输入#1

    3
    3 2
    100 1
    1000000000000 1377

    输出#1

    9
    100
    999244007

说明/提示

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页