日期:2014-05-20 浏览次数:20989 次
public static void test(int n)
{
if (n < 0) Console.WriteLine(-1);
else
{
List<int> num = new List<int>();
List<int> q = new List<int>();
//从大到小初始化列表num
for (int i = 9; i > 1; i--)
{
num.Add(i);
}
//从最大的数开始查找是否可以整除,排除不可整除的,记录可以整除的。
while (num.Count > 0)
{
if (n % num[0] == 0)
{
n = n / num[0];
q.Add(num[0]);
}
else
num.Remove(num[0]);
}
//如果最后n为1,说明完全被整除,对记录的各个除数列表排序后输出,得到最小整数,否则输出-1,没有找到
if (n == 1)
{
q.Sort();
foreach (int i in q)
{
Console.Write(i);
}
Console.WriteLine();
}
else
Console.WriteLine(-1);
}
}