题解(打表神力)
2025-10-08 10:13:16
发布于:广东
30阅读
0回复
0点赞
通过特殊样例不难想到这道题与7有关分类模7的所有情况,但有些记得特判,第一次忘了特判只有60points。
#include<bits/stdc++.h>
using namespace std;
int main(){
int t;
cin>>t;
while(t--){
int n;
cin>>n;
if(n<7){
if(n==1) cout<<-1<<endl;
else if(n==2) cout<<1<<endl;
else if(n==3) cout<<7<<endl;
else if(n==4) cout<<4<<endl;
else if(n==5) cout<<2<<endl;
else if(n==6) cout<<6<<endl;
}
else{
if(n%7==0){
for(int i=1;i<=n/7;i++) cout<<8;
cout<<endl;
}
else if(n%7==1){
cout<<10;
n-=8;
for(int i=1;i<=n/7;i++) cout<<8;
cout<<endl;
}
else if(n%7==2){
cout<<1;
n-=2;
for(int i=1;i<=n/7;i++) cout<<8;
cout<<endl;
}
else if(n%7==3){
if(n==10) cout<<22;
else{
cout<<200;
for(int i=1;i<=(n-17)/7;i++) cout<<8;
}
cout<<endl;
}
else if(n%7==4){
cout<<20;
n-=11;
for(int i=1;i<=n/7;i++) cout<<8;
cout<<endl;
}
else if(n%7==5){
cout<<2;
n-=2;
for(int i=1;i<=n/7;i++) cout<<8;
cout<<endl;
}
else if(n%7==6){
cout<<6;
n-=6;
for(int i=1;i<=n/7;i++) cout<<8;
cout<<endl;
}
}
}
return 0;
}
这里空空如也





有帮助,赞一个