有些暴力,但感觉没啥问题,但还是WA了四个点
#include <bits/stdc++.h>
using namespace std;
const int num[] = {6,2,5,5,4,5,6,3,7,6};
const int nmd[] = {-1,-1,1,7,4,2,6,8,-1,-1};
int T,n;
int main() {
scanf("%d",&T);
while (T--) {
scanf("%d",&n);
if (n < 8) {
printf("%d\n",nmd[n]);
continue;
}
int k = n/7;
if (n % 7 == 0) {
for (int i = 1; i <= k; i++) printf("8");
puts("");
continue;
} else if (n % 7 == 1) {
printf("10");
for (int i = 1; i < k; i++) printf("8");
puts("");
continue;
} else if (n % 7 == 2) {
printf("1");
for (int i = 1; i <= k; i++) printf("8");
puts("");
continue;
} else if (n % 7 == 3) {
printf("22");
for (int i = 1; i < k; i++) printf("8");
puts("");
continue;
} else if (n % 7 == 4) {
printf("20");
for (int i = 1; i < k; i++) printf("8");
puts("");
continue;
} else if (n % 7 == 5) {
printf("2");
for (int i = 1; i <= k; i++) printf("8");
puts("");
continue;
} else if (n % 7 == 6) {
printf("6");
for (int i = 1; i <= k; i++) printf("8");
puts("");
continue;
}
}
return 0;
}