CF292C
来源:互联网 发布:数据库巡检内容 编辑:程序博客网 时间:2024/05/16 07:15
感觉还是蛮有趣的一道题的,我刚开始还准备用递归来写,但是觉的太麻烦,看了下别人的,才发现原来这么简单。。。。。。。。
在仔细想一想,确实就是这么简单
#include <iostream>#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;int a[105];char str[18];int main(){ int n; while(scanf("%d%s",&n,str)!=EOF) { memset(a,0,sizeof(a)); int i,cnt=0; for(i=0;i<n;i++) { int flag=str[i]-'0'; if(flag==2||flag==5||flag==7||flag==3) a[cnt++]=flag; if(flag==4) { a[cnt++]=2; a[cnt++]=2; a[cnt++]=3; } if(flag==6) { a[cnt++]=5; a[cnt++]=3; } if(flag==8) { a[cnt++]=2; a[cnt++]=2; a[cnt++]=2; a[cnt++]=7; } if(flag==9) { a[cnt++]=2; a[cnt++]=3; a[cnt++]=3; a[cnt++]=7; } } sort(a,a+cnt); for(i=cnt-1;i>=0;i--) printf("%d",a[i]); printf("\n"); }}
0 0