如果你多筛了点质数(比如说筛到了第21个),而数组又是顶着开的,那么你在处理每个数的时候千万不要去看所有质数,不然状态会爆空间RE
int getnum(int x) { int res = 0; for(int i = 1; i <= 20; ++i)//如果你数组顶着开,还多筛了质数,这里千万不要写成 countprimes { if(x % p[i] == 0) { res |= (1LL << (i - 1)); } } return res; }