static List<string> GetAllZuhe(List<string> list, int n) { if (n <= 1) { return list; } else { List<string> rl = new List<string>(); foreach (string x in list) { foreach (string y in GetAllZuhe(list, n - 1)) { rl.Add(x + y); } } return rl; } } }
static void Main(string[] args) { List<string> list = new List<string>(); list.Add("1"); list.Add("2"); list.Add("3"); list.Add("4"); List<string> allList=GetAllZuhe(list,3 ); Console.WriteLine(allList.Count+ "\n"); bool flag = true; foreach (string s in allList) { if (flag) Console.Write(s+" "); else Console.Write(s + "\n"); flag = !flag; } Console.ReadLine(); }