题意:
给出64位整数a、b以及不超过1000的正整数n,求斐波那契数列第a ^ b项模n的结果。 输入:情况数T,之后T行每行a、b、n。 输出:斐波那契数列第a ^ b项模n的结果。
分析:由于斐波那契数列的每一项都是由前两项相加得来,并且每一项都对n取模,所有 每一项的情况一共有n种,而相邻两项若组成有序数对,则不同的数对的情况也只有 n ^ 2种,所以只需要计算n * n项就可以找到数列规律。
题目:
The i’th Fibonacci number f(i) is recursively defined in the following way:
• f(0) = 0 and f(1) = 1
• f(i + 2) = f(i + 1) + f(i) for every i ≥ 0
Your task is to compute some values of this sequence.
Input
Input begins with an integer t ≤ 10, 000, the number of test cases. Each test case consists of three integers a, b, n where 0 ≤ a, b < 2 64 (a and b will not both be zero) and 1 ≤ n ≤ 1000.
Output
For each test case, output a single line containing the remainder of f(a b ) upon division by n.
Sample Input
3
1 1 2
2 3 1000
18446744073709551615 18446744073709551615 1000
Sample Output
1
21
250
AC代码