rt,跟第二篇题解思路基本一致,但不知道为什么本地测试一直在输出 −387389208,求大佬指点
#include<bits/stdc++.h>
using namespace std;
int T,n,a[1000]={6,2,5,5,4,5,6,3,7,6},minn[22],t;
int main(){
memset(minn,1000,sizeof(minn));
for(int i=1;i<=999;i++){
if(i>9) a[i]=a[i/10]+a[i%10];
if(!minn[a[i]]) minn[a[i]]=i;
}
cin>>T;
while(T--){
cin>>n;
if(n==1){
cout<<"-1\n";
continue;
}
t=n%21;
cout<<minn[t];
for(int i=1;i<=(n-t)/7;i++) cout<<8;
cout<<endl;
}
}