题意:给出n,求最小正整数q,q各个位置上的数的乘积为n;
太水了,就只贴代码了;
#include<bits/stdc++.h>
using namespace std;
int s[100];
int main() {
int n;
scanf("%d", &n);
if(n == 0) {
printf("%d\n", 10);
return 0;
}
if(n == 1) {
printf("%d\n", 1);
return 0;
}
int cnt = 0;
for(int i = 9; i >= 2; i--) {
while(n % i == 0) {
s[cnt++] = i;
n /= i;
}
}
if(n != 1) {
printf("-1\n");
return 0;
}
sort(s, s + cnt);
for(int i = 0; i < cnt; i++)
printf("%d", s[i]);
printf("\n");
return 0;
}