UVA 993

来源:互联网 发布:java分布式缓存技术 编辑:程序博客网 时间:2024/06/07 09:34

  从9到2分别记录n能被几个i整除,最后若n不为1,则必然不存在,存在则从2到9输出对应个数即可,注意对0和1进行一下特殊处理。

#include <iostream>#include <algorithm>#include <cstdio>using namespace std;int main(){int T;cin>>T;while(T--){int n,size=0,fac[10]={0};scanf("%d",&n);if(n==1) {cout<<1<<endl;continue;}if(!n) {cout<<0<<endl;continue;}for(int i=9;i>1;i--){while(n%i==0){fac[i]++;n/=i;}}if(n!=1) printf("-1\n");else{for(int i=2;i<=9;i++)for(int j=1;j<=fac[i];j++) printf("%d",i);printf("\n");}}return 0;}


 

0 0
原创粉丝点击