很明显在%5的意义下只会有 0 1 2 3 4 这几个取值
且由于fib数列由前两项推出,那么很显然打个表就行了,,,
c++代码如下:
#define rep(i,x,y) for(register int i = x; i <= y; ++ i)
using namespace std;
template<typename T>inline void read(T&x)
{
char c;x = 0;
do { c = getchar(); }while(!isdigit(c));
do { x = x * 10 + c - '0'; c = getchar(); }while(isdigit(c));
}
int a[20] =
{
0,
1,
1,
2,
3,
0,
3,
3,
1,
4,
0,
4,
4,
3,
2,
0,
2,
2,
4,
1
};
int main()
{
int t,x;
read(t);
rep(i,1,t)
{
read(x);
putchar(a[x%20] + '0');
putchar('\n');
}
return 0;
}