A1,A2,A3,A4,A5,A7,B1,B3,B5,B6,B7 ,B8
以上中 取任意n个(n为输入值),打印出所有的n个组合可能。尽可能高效。 谢谢~~~~
(比如我输入2,那么打印出所有2个组合的可能 (A1,A2)(A1,A3)(A1,A4)(A1,A5)(A1,A7)(A1,B1)...........等等 )
static string[] str = new string[] { "A1", "A2", "A3", "A4", "A5", "A7", "B1", "B3", "B5", "B6", "B7", "B8" }; static List<string> strs = new List<string>(); static void Main(string[] args) { Console.WriteLine("输入一个数..."); string ss = Console.ReadLine(); DoWork("", 0, int.Parse(ss)); foreach (string s in strs) { Console.WriteLine(s); } Console.ReadLine(); } static void DoWork(string r,int i,int t) { if (r.Length / 2 >= t) { strs.Add(r); return; } for (; i < str.Length;) { DoWork(r + str[i], ++i, t); } }
虽然没用上。但是谢谢你了。
学习建议:自己遇到的问题自己不写算法----->不要想提高