当前位置: 代码迷 >> 综合 >> ZCMU--5119: Fibonacci_I(C语言)
  详细解决方案

ZCMU--5119: Fibonacci_I(C语言)

热度:56   发布时间:2023-12-06 10:06:36.0

Description

小P是一个数学爱好者,这天他打算研究一下斐波那契数列。他想知道第ii个斐波那契数ai是多少。

斐波那契数列是这样的:1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 ...

比如,第3个数字是2,第5个数字是5,以此类推。

但有一个问题,当i很大的时候,ai?也会变得非常大,小P认为那么大就没有必要了,于是他想了一个办法来减少这个数字的大小。

小P的方法是,把每个数字加上5,并除以13求其余数。换句话来说,对于原来的斐波那契数列ai?,经小P处理之后bi?=(ai?+5) mod 13,其中mod是取余数。

Input

第一行是一个T,代表着有T组数据。

每一个数据仅包含一个数n,代表着小P想求的bi?数列中第n个数字,也就是bn。

1≤T≤100

1≤n≤109

Output

对于每一组数据,输出其答案bn。

Sample Input

3

1

3

7

Sample Output

6

7

5

解析:其实有规律啦。

#include <stdio.h>
int a[30]={6,6,7,8,10,0,5,0,0,8,3,6,4,5,4,4,3,2,0,10,5,10,10,2,7,4,6,5};
int main()
{int n,k;scanf("%d",&n);while(n--){scanf("%d",&k);k--;printf("%d\n",a[k%28]);}return 0;
}