993
思路只要想通就很简单了,实际上就是把一个数因式分解为若干个2-9的数的成绩,直接枚举找就行
//============================================================================
// Name : 993.cpp
// Author :
// Version :
// Copyright : Your copyright notice
// Description : Hello World in C++, Ansi-style
//============================================================================
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
int ans[50];
int n, num, tag, N;
int main() {
freopen("a.txt", "r", stdin);
scanf("%d", &N);
while(N--){
memset(ans, 0, sizeof(ans));
scanf("%d", &n);
if(n == 1){
printf("1\n");
continue;
}
num = 0;
tag = 0;
while(n > 1){
tag = 0;
for(int i = 9;i > 1;i--){
if(n%i == 0){
ans[num++] = i;
n /= i;
tag = 1;
break;
}
}
if(tag == 0){
break;
}
}
sort(ans, ans+num);
if(tag == 0){
printf("-1\n");
}
else{
for(int i = 0;i < num;i++){
printf("%d", ans[i]);
}
printf("\n");
}
}
return 0;
}

浙公网安备 33010602011771号