5313:新しいFib数列

2337 ワード

明らかに%5の意味では0 1 2 3 4といういくつかの値しか取らない.
そしてfib数列が前の2つから発売されているので、明らかにテーブルを打てばいいのですが、、、
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('
'
); } return 0; }