日期:2014-05-17 浏览次数:20958 次
private void calculate(int n, List<int> list1, int start)
{
if (n == 1)
{
for (int i = 0; i < list1.Count; i++)
{
Console.Write(list1[i] + "+");
}
Console.WriteLine(1);
}
else
{
for (int i = start; i <= n / 2; i++)
{
list1.Add(i);
calculate(n - i, list1, i);
list1.RemoveAt(list1.Count - 1);
}
for (int i = 0; i < list1.Count; i++)
{
Console.Write(list1[i] + "+");
}
Console.WriteLine(n);
}