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
原创粉丝点击