例题10-1 UVa11582 Colossal Fibonacci Numbers!(同余与模算术)
来源:互联网 发布:sai mac版本 编辑:程序博客网 时间:2024/05/20 13:18
题意:
看白书
要点:
先斐波那契数列打个表,然后用同余与模算术,找个规律就行。注意数的最大值为2^64,用long long型还不够,必须要用unsigned long long型。
#include<stdio.h>#include<stdlib.h>#include<string.h>#include<math.h>int fibo[1025][8000];int g[1025];int pow_mod(unsigned long long a,unsigned long long n, int m)//注意2^64要用unsigned long long型{if (n == 0) return 1;int x = pow_mod(a, n / 2, m);unsigned long long ans =(unsigned long long)x*x%m;if (n % 2 == 1)ans = ans*a%m;return (int)ans;}int main(){unsigned long long a, b;int n,t,i,x;for (n = 2; n <= 1000; n++){fibo[n][0] = 0; fibo[n][1] = 1;for (i = 2;; i++){fibo[n][i] = (fibo[n][i - 1] % n + fibo[n][i - 2] % n) % n;if (fibo[n][i] == 1 && fibo[n][i - 1] == 0)//出现一样的说明重复了{g[n] = i-1;break;}}}scanf("%d", &t);while (t--){scanf("%llu%llu%d", &a, &b, &n);if (a == 0 || n == 1)//n=1时前面没打表,g[1]=0会REprintf("0\n");else{x = pow_mod(a%g[n], b, g[n]);printf("%d\n", fibo[n][x]);}}return 0;}
0 0
- 例题10-1 UVa11582 Colossal Fibonacci Numbers!(同余与模算术)
- Uva11582 Colossal Fibonacci Numbers!
- UVa11582 - Colossal Fibonacci Numbers!(模运算)
- 模的应用--uva11582 Colossal Fibonacci Numbers!
- uva11582 Colossal Fibonacci Numbers(分治法)
- 【数论】Colossal Fibonacci Numbers!, UVa11582
- UVA11582 Colossal Fibonacci Numbers!(fibonacci序列模x的周期性)
- UVa11582 [快速幂]Colossal Fibonacci Numbers!
- UVa #11582 Colossal Fibonacci Numbers! (例题10-1)
- UVA11582 Colossal Fibonacci
- UVa11582 Colossal Fibonacci Numbers!(斐波那契数列小规律+思维)
- uva11582(同余模基础)
- 例题10-1 UVA 11582 Colossal Fibonacci Numbers!巨大的斐波那契数列
- 同余与模算术
- 同余与模算术
- 同余与模算术
- 同余与模算术 与 poj1995
- 数学知识 同余与模算术
- 数据结构顺序表实现学习
- ACdream 1157 Segments 【CDQ分治】
- Java中static
- 编程时候的听到的优美歌曲
- C语言简单键盘扫描,可用于简单小游戏
- 例题10-1 UVa11582 Colossal Fibonacci Numbers!(同余与模算术)
- Java基础——Collection接口
- C语言之结构体内存对齐
- javascript深入理解js闭包
- (java)求最长递增子序列(可以不连续的情况)
- 数据中心双活该如何构建
- Qt:文件浏览器添加右击菜单实现重命名
- Android Studio--快捷键
- C#:String.Format数字格式化输出