ACM 給你一個整數Q,找出一個最小的正整數N,使得它的各位之積等於Q,如果不存在,請輸出-1 輸入:第一行為組數,
阿新 • • 發佈:2018-11-27
#include<iostream> #include<stdio.h> using namespace std; bool smallten(int data) { if((data<10)&&(data>1)) return 1; else return 0; } int main() { int T; int Q; cin>>T; for(int i=0;i<T;i++) { cin>>Q; int a[8]={9,8,7,6,5,4,3,2}; int j=0; int b[10000]; if(Q == 1) { cout<<Q; } if(smallten(Q)) { cout<<Q<<endl; } else { for(int i=0;i<8;i++) { while((Q%a[i]==0)&&Q) { b[j]=a[i]; Q=Q/a[i]; j++; i=0; } } if(Q == 1) { for(int k=j-1;k>=0;k--) { cout<<b[k]; } cout<<endl; } else cout<<-1<<endl; } } }