UVA11582 Colossal Fibonacci Numbers!(fibonacci序列模x的周期性)
来源:互联网 发布:东方财富通mac 编辑:程序博客网 时间:2024/06/06 01:49
题意:两个非负整数a,b<2^64 计算斐波拉契序列f(a^b)mod x (x<1000)
思路:显然a^b只能用快速幂,而且还必须要取模,所以去尝试找f(n)mod x的周期
不能发现当二元组(f[i]%x,fp[i-1]%x)=(f[0]%x,f[1]%x) 的时候开始循环,所以周期为i
因为f[n]%x的余数最多只有1000种所以在f[0...n^2]以内就能找到周期
<span style="font-size:14px;">//AcceptedC++0.096#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>using namespace std;typedef unsigned long long ll;int period[1005];int an[101000];ll powmod(ll a,ll b,ll mod){ ll ans=1; while(b) { if(b&1) ans=ans*a%mod; a=a*a%mod; b>>=1; } return ans;}int main(){ int T; scanf("%d",&T); int a0,a1; for(int i=1;i<=1000;i++) { a0=0%i,a1=1%i; for(int j=2;;j++) { int a2=(a0+a1)%i; if(a2==1%i&&a1==0) {period[i]=j-1;break;} //存周期 a0=a1,a1=a2; } } while(T--) { ll a,b; int mod; cin>>a>>b>>mod; int p=powmod(a%period[mod],b,period[mod]); an[0]=0,an[1]=1%mod; for(int i=2;i<=p;i++) an[i]=(an[i-1]+an[i-2])%mod; if(a==0&&b==0) puts("0"); else printf("%d\n",an[p]); } return 0;}</span>
0 0
- UVA11582 Colossal Fibonacci Numbers!(fibonacci序列模x的周期性)
- 模的应用--uva11582 Colossal Fibonacci Numbers!
- Uva11582 Colossal Fibonacci Numbers!
- UVa11582 - Colossal Fibonacci Numbers!(模运算)
- 【数论】Colossal Fibonacci Numbers!, UVa11582
- uva11582 Colossal Fibonacci Numbers(分治法)
- UVa11582 [快速幂]Colossal Fibonacci Numbers!
- UVA11582 Colossal Fibonacci
- 例题10-1 UVa11582 Colossal Fibonacci Numbers!(同余与模算术)
- uva 11582 Colossal Fibonacci Numbers! (斐波那契模除周期性)
- 11582 - Colossal Fibonacci Numbers!
- 11582 - Colossal Fibonacci Numbers!
- Colossal Fibonacci Numbers! UVA
- Colossal Fibonacci Numbers! UVA
- Colossal Fibonacci Numbers! UVA
- Colossal Fibonacci Numbers! UVA
- UVa11582 - Colossal Fibonacci Numbersl (打表找规律)
- Uva11582 Colossal Fibonacci Numbers! (数论、斐波那契循环节)
- django常用命令
- #1142 : 三分·三分求极值 ( 三分极值 )
- Spring MVC (mvc框架)
- Linux中fork()函数详解
- 用交换实现字符串翻转
- UVA11582 Colossal Fibonacci Numbers!(fibonacci序列模x的周期性)
- 一阶逻辑基本概念
- 大数据(二)--Spark
- 【Foundation学习笔记】常用类--NSSet和NSMutableSet
- iOS 简单的核心动画设置
- 开源软件、自由软件及免费软件的区别
- Android 关于inflate
- 编程算法之递推算法-顺推法
- 指针学习1