zoukankan      html  css  js  c++  java
  • A

    Drazil is playing a math game with Varda.

    Let's define for positive integer x as a product of factorials of its digits. For example, .

    First, they choose a decimal number a consisting of n digits that contains at least one digit larger than 1. This number may possibly start with leading zeroes. Then they should find maximum positive number x satisfying following two conditions:

    1. x doesn't contain neither digit 0 nor digit 1.

    2. = .

    Help friends find such number.

    Input

    The first line contains an integer n (1 ≤ n ≤ 15) — the number of digits in a.

    The second line contains n digits of a. There is at least one digit in a that is larger than 1. Number a may possibly contain leading zeroes.

    Output

    Output a maximum possible integer satisfying the conditions above. There should be no zeroes and ones in this number decimal representation.

    Examples

    Input
    4
    1234
    Output
    33222
    Input
    3
    555
    Output
    555

    Note

    In the first case,

    题解:此题需要知道0~9的阶乘,"0","1","2","3","322","5","35","7","2227","2337"//分别为0~9对应的阶乘相乘形式,然后笨方法,代码如下

    #include<cstdio>
    #include<iostream>
    using namespace std;
    //"0","1","2","3","322","5","35","7","2227","2337"//分别为0~9对应的阶乘相乘形式
    int main()
    {
        int n;
        char s[20];
        int a[100]={0};
        cin>>n;
        cin>>s;
        for(int i=0;i<n;i++)
        {
            int t=s[i]-'0';
            switch(t)
            {
                case 1:
                    a[1]++;break;
                case 2:
                    a[2]++;break;
                case 3:
                    a[3]++;break;
                case 4:
                    a[2]+=2;a[3]++;break;
                case 5:
                    a[5]++;break;
                case 6:
                    a[3]++;a[5]++;break;
                case 7:
                    a[7]++;break;
                case 8:
                    a[2]+=3;a[7]++;break;
                case 9:
                    a[2]++;a[3]+=2;a[7]++;break;
            }
        }
        for(int i=9;i>=2;i--)
          for(int j=1;j<=a[i];j++)
            cout<<i;
        cout<<endl;
        return 0;
    }
  • 相关阅读:
    关于用户、用户组及文件权限的试题
    lvm-简介
    项目中用到的jar包简介(1)
    Centos7开启SSH服务
    2.docker架构,原理,安装及简单应用
    如何平滑将注册中心从Eureka迁移到Nacos?
    8.k8s连载--重新生成k8s token(kubeadm join报错及解决)
    7. 复制k8s Node节点 并重新初始化k8s-nodes2节点 (k8s连载)
    6. k8s + jenkins 实现持续集成(完)
    5.k8s基本命令汇总
  • 原文地址:https://www.cnblogs.com/ylrwj/p/10913980.html
Copyright © 2011-2022 走看看