题意:给你一个大于0的整数n,请你找到最小的整数q,使得q中所有数字相乘等于n。
方法:贪心法。
#include#include #include #include #include #include #include #include #include #include using namespace std; int main() { #ifdef Local freopen("a.in", "r", stdin); #endif int t = 0; cin >> t; while (t--) { int n = 0, ans = 0,i = 0, j = 0, flag = 1; cin >> n; if (1 == n) cout << "1" << endl; else { while(n != 1) { flag = 1; for (i = 9; i >= 2; i--) { if (0 == n % i) { ans += i * pow(10, j++); n /= i; flag = 0; } } if (flag) { cout << "-1" << endl; break; } } if (!flag) cout << ans << endl; } } return 0; }