51nod1263 广义斐波那契数列

该博客介绍了广义斐波那契数列的定义,并提出问题:在模N的情况下,数列何时再次出现连续两个1。讨论了如何根据给定的a, b和n来确定这个位置,提供了相应的代码实现。" 132285231,19671683,Java编程实现摄氏与华氏温度转换,"['Java', '开发语言', '编程基础']
摘要由CSDN通过智能技术生成

1263 广义斐波那契数列

广义斐波那契数列的定义如下:

F(0) = 1

F(1) = 1

F(n) = a * F(n - 1) + b * F(n - 2)

(a , b > 0)

广义斐波那契数列Mod N(N >= 2)会得到一个新的数列,这个数列从第0项开始,连续出现了2个1。问下一次连续出现2个1,是从数列的第几项开始。例如:

F(n) = 2 * F(n - 1) + 3 * F(n - 2)

F (mod 4) = 1 1 1 1 1 1 1... (第二次出现连续2个1是从F(1)开始)。

F (mod 5) = 1 1 0 3 1 1 0 3... (第二次出现连续2个1是从F(4)开始)。

给出a, b, n,输出下一次出现连续2个1是第几项,如果不存在下一次出现连续2个1的情况,输出-1。

输入

第1行:一个数T,表示输入的测试数量(1 <= T <= 10000)
第2 - T + 1行:每行3个数,a, b和n,中间用空格分隔(2 <= A, B < N <= 10^9)

输出

输出共T行,每行1个数,对应下一次出现连续2个1是第几项,如果不存在输出-1。
<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值