题目背景
在研究斐波那契数列的整除性质时,我们把数列中能被 整除的项称作「好数」。由于询问量很大,手算已经行不通了,请你编程解决。
题目描述
定义斐波那契数列:
现有 组询问。每组给定两个正整数 ,请求出满足下面条件的下标 的数量:
也就是说,求斐波那契数列前 项中,有多少项能被 整除。
输入格式
第一行一个正整数 ,表示询问组数。
接下来 行,每行两个正整数 ,表示一组询问。
输出格式
输出共 行,每行一个非负整数,表示前 项中能被 整除的项数。
样例
输入
5 10 1 10 2 10 3 10 4 10 5
输出
10 3 2 1 2
提示说明
【样例解释】
斐波那契数列前 项为:。
- :所有项都能被 整除,共 项;
- :第 项能被 整除,共 项;
- :第 项能被 整除,共 项;
- :第 项能被 整除,共 项;
- :第 项能被 整除,共 项。
【数据规模与约定】
对于全部测试数据,保证:
- ;
- ;
- ;
- 设所有询问中出现的不同模数构成集合 ,则 。
| 测试点 | 分值 | 限制 |
|---|---|---|
| 1 ~ 2 | 10 | ,, |
| 3 ~ 5 | 15 | |
| 6 ~ 9 | 25 | , |
| 10 ~ 14 | 20 | 所有询问的 相同 |
| 15 ~ 20 | 30 | 无特殊限制 |
共 20 个测试点,每个测试点 5 分,合计 100 分。