

数据可能还挺大的,能帮忙写一个时间复杂度小点的代码吗?
这是我的代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int cnt = scanner.nextInt();
while(cnt-->0){
boolean flag = false;
int num = scanner.nextInt();
int s4 = num/4;
int s7 = num/7;
int i , j=0;
for (i=0; i<=s4; i++){
for (j=0; j<=s7; j++){
if (i*4+j*7==num){
flag = true;
break;
}
}
if (flag) break;
}
if (!flag)
System.out.println(-1);
else{
for (int k=0; k<i; k++)
System.out.print(4);
for (int k=0; k<j; k++)
System.out.print(7);
System.out.println();
}
}
}
}