UVA - 11582 - Colossal Fibonacci Numbers!(快速幂+打表)
来源:互联网 发布:csdn java博客 编辑:程序博客网 时间:2024/05/16 15:16
f(a^b)对n求余后会有周期出现,只需找出它等同于周期中的哪一项即可。最好提前打表。
#include<cstdio>#include<cstring>#include<cctype>#include<cstdlib>#include<cmath>#include<iostream>#include<sstream>#include<iterator>#include<algorithm>#include<string>#include<vector>#include<set>#include<map>#include<deque>#include<queue>#include<stack>#include<list>typedef long long ll;typedef unsigned long long llu;const int MAXN = 1000 + 10;const int MAXT = 10000 + 10;const int INF = 0x7f7f7f7f;const double pi = acos(-1.0);const double EPS = 1e-6;using namespace std;int mp[MAXN][6 * MAXN], num[MAXN];void init(){for(int i = 2; i < MAXN; ++i){mp[i][0] = 0;mp[i][1] = 1;for(int j = 2; ; ++j){mp[i][j] = (mp[i][j - 1] + mp[i][j - 2]) % i;if(mp[i][j] == 1 && mp[i][j - 1] == 0){num[i] = j - 1;break;}}}}llu pow_mod(llu a, llu i, llu n){if(i == 0) return 1 % n;llu tmp = pow_mod(a, i >> 1, n);tmp = tmp * tmp % n;if(i & 1) tmp = (ll)tmp * a % n;return tmp;}int main(){init();int T;llu a, b, n;scanf("%d", &T);while(T--){scanf("%llu%llu%llu", &a, &b, &n);if(n == 1 || a == 0){printf("0\n");continue;}int tmp = pow_mod(a % num[n], b, num[n]);printf("%d\n", mp[n][tmp]);} return 0;}
0 0
- UVA 11582 Colossal Fibonacci Numbers!(打表+快速幂)
- UVA - 11582 - Colossal Fibonacci Numbers!(快速幂+打表)
- uva 11582 - Colossal Fibonacci Numbers!(整数快速幂)
- 【UVA】11582 - Colossal Fibonacci Numbers!(快速幂)
- 快速幂取模+数学知识(Colossal Fibonacci Numbers! uva 11582)
- UVA 11582 - Colossal Fibonacci Numbers!
- UVa 11582 - Colossal Fibonacci Numbers!
- UVA - 11582 Colossal Fibonacci Numbers!
- uva 11582 Colossal Fibonacci Numbers!
- UVa 11582 Colossal Fibonacci Numbers!
- UVA - 11582 Colossal Fibonacci Numbers!
- UVA 11582 - Colossal Fibonacci Numbers!
- Uva 11582 Colossal Fibonacci Numbers!
- uva 11582Colossal Fibonacci Numbers!
- 【UVa】[11582]Colossal Fibonacci Numbers!
- UVA 11582 Colossal Fibonacci Numbers!
- UVA 11582 Colossal Fibonacci Numbers!
- UVA 11582 Colossal Fibonacci Numbers!
- 【DirectX11】第九篇 光照模型——高光
- js input绑定enter回车键事件
- swig的安装
- 案例分析9
- 比较数的大小(比较法)
- UVA - 11582 - Colossal Fibonacci Numbers!(快速幂+打表)
- ubuntu最小化安装无法远程登录
- NYOJ 513 A+B Problem IV
- Android Context原理与使用的总结
- 【java】:java从零开始学2:如何打开eclipse的工程管理目录
- 面向对象(一)
- Destoon 列表时间显示方式修改模板调整信息
- myeclipse 中的xml第一行出错
- 动态链接库的创建和使用