多层循环的递归实现

C#实现 

class Program
{
static string temp = "";
static int count = 0;
static void Main(string[] args)
{
int[] arr = {1,2,3,4,5,6,7,8};
GetNumber(arr,5,"","");
}
public static void GetNumber(int[] array, int round, string strNum,string preStrNum)
{
for (int i = 0; i < array.Length; i++)
{
temp = strNum;
if (round == 1)
{
temp += array[i].ToString();
string[] strs = temp.Split(' ');
int sum = 0;
foreach (var item in strs)
{
sum += int.Parse(item);
}
temp =string.Join("+",strs) +"="+sum;
Console.WriteLine(temp);
}
else
{
string s = strNum;
strNum += array[i].ToString() + " ";
GetNumber(array, round - 1, strNum, s);
strNum = s;
}
}
}

}

posted @ 2013-12-02 11:34  王国营的博客  阅读(825)  评论(0编辑  收藏  举报