Cod sursa(job #637264)

Utilizator rootsroots1 roots Data 20 noiembrie 2011 13:30:22
Problema Ciuperci Scor 0
Compilator cpp Status done
Runda .com 2011 Marime 0.61 kb
#include <fstream>

#define MOD 666013

using namespace std;

ifstream in;
ofstream out;

inline long long f(long long N)
{
    long long sol=0;

    if(N<2||((N&(N-1))==0)) return 1;
    else
    if(N&1)
    {
        long long aux=f(N>>1);
        sol+=aux*aux;
    }
    else sol+=2*f((N>>1)-1)*f(N>>1);

    sol%=MOD;
    return sol;
}

int main()
{
    int Test;
    long long N;

    in.open("ciuperci.in");
    out.open("ciuperci.out");

    in>>Test;

    for(;Test--;)
    {
        in>>N;
        out<<f(N)<<'\n';
    }

    in.close();
    out.close();

    return 0;
}