标签:
10 1 2 3 4 5 6 7 8 22 10
1 2 3 4 5 6 1 2 4 4
#define N 205
#define M 100005
#define maxn 205
#define MOD 1000000000
int n,glen,len,pn,m,pri[M];
set<int> myset;
set<int>::iterator it;
bool solve1(int mm){
return myset.count(mm);
}
bool solve2(int mm){
for(int i = 0,j = pn -1;i< pn && pri[i] <= mm;i++){
while(j>= 0 && pri[i] + pri[j] > mm)j--;
if(j>=0 && pri[i] + pri[j] == mm) return true;
}
return false;
}
int main()
{
pn = 0;
for(int i = 1;i< M -1 ;i++){
int t = 3 * i * (i-1) + 1;
if(t <= MOD){
pri[pn++] = t;
myset.insert(t);
}
else break;
}
while(S(n)!=EOF)
{
while(n--){
S(m);
if(m%6 == 1){
if(solve1(m))
printf("1\n");
else
printf("7\n");
continue;
}
else if(m%6 == 2)
{
if(solve2(m))
printf("2\n");
else
printf("8\n");
continue;
}
else
printf("%d\n",(m - 1)%6 + 1);
}
}
return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/mengzhengnan/article/details/47084661