链接:https://www.nowcoder.com/acm/contest/93/K
来源:牛客网

题目描述

wyh学长特别喜欢斐波那契数列,F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n>=2)

一天他突发奇想,想求F(a^b)%c

输入描述:

输入第一行一个整数T(1<=T<=100),代表测试组数
接下来T行,每行三个数 a,b,c (a,b<=2^64) (1<c<1000)

输出描述:

输出第a^b项斐波那契数对c取余的结果

输入例子:
3
1 1 2
2 3 1000
32122142412412142 124124124412124 123
输出例子:
1
21
3

-->

示例1

输入

3
1 1 2
2 3 1000
32122142412412142 124124124412124 123

输出

1
21
3 这题超级超级坑爹 ,专门卡着long long ,要用unsigned long long ,
由于这个原因我卡了好久好久。
这个题目不断的取模,会使得斐波那契数列形成一个环.
然后就是一个快速幂取模。
 #include<bits/stdc++.h>
using namespace std; #define ll long long
#define llu unsigned long long
const int maxn=1e5+; llu f[maxn];
llu modexp(llu a,llu b,llu c)
{
llu res=,temp=a%c;
while(b){
if (b&) res=res*temp%c;
temp=temp*temp%c;
b=b>>;
}
return res;
}
int main(){
int t;
scanf("%d",&t);
while(t--){
llu a,b,c;
scanf("%llu%llu%llu",&a,&b,&c);
f[]=,f[]=;
for (int i= ; ;i++){
f[i]=(f[i-]+f[i-])%c;
if (f[i]== && f[i-]==) {
c=i-;
break;
}
}
printf("%llu\n",f[modexp(a,b,c)]);
}
return ;
}

最新文章

  1. 每瓶啤酒2元,2个空酒瓶或4个瓶盖可换1瓶啤酒。10元最多可喝多少瓶啤酒? php
  2. 打造属于前端的Uri解析器
  3. QT文档如何使用
  4. 快速学习springMVC框架原理
  5. NEO从入门到开窗(1) - 一个智能合约的诞生
  6. 【alpha冲刺】随笔合集
  7. SQL 约束 (Constraints)
  8. netty拆包粘包
  9. 解决build workspace 缓慢的问题
  10. MySQL主从复制报错1594处理【转】
  11. Eclipse中创建一个新的SpringBoot项目
  12. HDU4287
  13. BZOJ2669 [cqoi2012]局部极小值 状压DP 容斥原理
  14. day9笔记整理,记忆
  15. 由于没有公钥,无法验证下列签名: NO_PUBKEY 54422A4B98AB5139
  16. C++判断回文
  17. 谷歌地图api 开发 (转载)
  18. html_entity_decode() 将 HTML 实体转成字符原型
  19. 003 python流程控制与函数
  20. mysql数据库导入黑窗口导入导出数据

热门文章

  1. c#事件的应用
  2. Java面试通关要点汇总集
  3. Node与apidoc的邂逅——NodeJS Restful 的API文档生成
  4. The method queryForMap(String, Object...) from the type JdbcTemplate refers to the missing type DataAccessException
  5. WordPress中添加自定义评论表情包的方法
  6. IDEA设置生成类基本注释信息
  7. 获取DOM节点的几种方式
  8. 【Python】 命名空间与LEGB规则
  9. linux --&gt; 为什么寄存器比内存快?
  10. 设计模式 --&gt; (14)中介者模式