考试时想不出来就开始找规律
#include <bits/stdc++.h>
using namespace std;
int t,n;
int main()
{
cin>>t;
while(t--)
{
cin>>n;
if(n<2){
cout<<-1<<endl;continue;
}
else if(n==2){cout<<1<<endl;continue;}
else if(n==3){cout<<7<<endl;continue;}
else if(n==4){cout<<4<<endl;continue;}
else if(n==5){cout<<2<<endl;continue;}
else if(n==6){cout<<6<<endl;continue;}
else if(n==7){cout<<8<<endl;continue;}
else if(n==8){cout<<10<<endl;continue;}
else if(n==9){cout<<18<<endl;continue;}
else if(n==10){cout<<22<<endl;continue;}
else if(n==11){cout<<20<<endl;continue;}
else if(n==12){cout<<28<<endl;continue;}
else if(n==13){cout<<68<<endl;continue;}
else if(n==14){cout<<88<<endl;continue;}
else if(n==15){cout<<108<<endl;continue;}
else if(n==16){cout<<188<<endl;continue;}
else if(n==17){cout<<200<<endl;continue;}
else if(n==18){cout<<208<<endl;continue;}
else if(n==19){cout<<288<<endl;continue;}
else if(n==20){cout<<688<<endl;continue;}
else if(n%7==0)
{
for(int i=1;i<=n/7;i++)
{
cout<<8;
}
cout<<endl;
continue;
}
else if(n%7==1)
{
cout<<10;
for(int i=1;i<(n-1)/7;i++)
{
cout<<8;
}
cout<<endl;
continue;
}
else if(n%7==2)
{
cout<<1;
for(int i=1;i<=(n-2)/7;i++)
{
cout<<8;
}
cout<<endl;
continue;
}
else if(n%7==3)
{
cout<<200;
for(int i=1;i<=(n-3)/7-2;i++)
{
cout<<8;
}
cout<<endl;
continue;
}
else if(n%7==4)
{
cout<<20;
for(int i=1;i<=(n-4)/7-1;i++)
{
cout<<8;
}
cout<<endl;
continue;
}
else if(n%7==5)
{
cout<<2;
for(int i=1;i<=(n-5)/7;i++)
{
cout<<8;
}
cout<<endl;
continue;
}
else if(n%7==6)
{
cout<<6;
for(int i=1;i<=(n-6)/7;i++)
{
cout<<8;
}
cout<<endl;
continue;
}
}
return 0;
}
continue是复制上的,其实没必要
(n-k)/7可以直接改成n/7