Răspuns:
#include <bits/stdc++.h>
using namespace std;
long long n,x,putere = 1,nr = 0;
long long perf[10];
int ciur[] = {2,3,5,7,13,17,19,31};
int main()
{
long long i,c = 0,j;
for( i=0; i<8; i++){
while( nr != ciur[i] ){
nr++; putere *= 2;
}
perf[++c] = (putere / 2) * (putere - 1);
}
cin >> n;
for( i=1; i<=n; i++){
cin >> x;
bool ok = false;
for( j=1; j<=c; j++)
if( x == perf[j] ) ok = true;
cout << ok << ' ';
}
return 0;
}
Explicație: