using System;
using System.Collections.Generic;
using System.Collections;
using System.Linq;
using System.Text;

namespace Timus_Online
{
    class ProductOfDigits
    {
        static void Main()
        {
            string[] input = Console.In.ReadToEnd().Split(new char[] { ' ', '\t', '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries);
            int N = int.Parse(input[0]);
            int[] Prime = new int[]{9,8,7,6,5,4,3,2};
            ArrayList myArry = new ArrayList();
            bool flag=true;
            if (N == 0)
                myArry.Add(10);
            else if (N < 10)
                myArry.Add(N);
            else
            {
                int temp;
                for (int i = 0; i < Prime.Length; ++i)
                {
                    if (N % Prime[i] == 0)
                    {
                        temp = Prime[i];
                        N /= Prime[i];
                        while (N % Prime[i] == 0)
                        {
                            if (temp * Prime[i] <= 9)
                                temp = temp * Prime[i];
                            else
                            {
                                myArry.Add(temp);
                                temp = Prime[i];
                            }
                            N /= Prime[i];
                        }
                        myArry.Add(temp);
                    }
                }
                if (N > 10)
                    flag = false;
            }

            if (flag == false)
                Console.WriteLine("-1");
            else
            {
                myArry.Sort();
                foreach(int x in myArry)
                {
                    Console.Write(x);
                }
                Console.WriteLine();
            }

        }
    }
}

题目意思就不说了。

方法:

因为N是1到9之间的数的积,所以从大到小找出N在1到9之间的因数就行了。最后从小到大排序后就是结果了。

如果N不论怎么分解,总是有一大于10的因数,则输出-1.

另外0要特别处理,因为find the minimal positive integer number Q. 语言的差别真要命。。。

posted on 2011-09-06 17:56  Mathida  阅读(148)  评论(0编辑  收藏  举报