递归练习1,数字分组
Posted icemaker
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了递归练习1,数字分组相关的知识,希望对你有一定的参考价值。
Q:将数字 sum 分为 k组,5分成3组,"0 0 5" ,"0 1 4" ,0 2 3 ...,2 1 2.
/// <summary> /// 将数字 sum 分为 k组,5分成3组,"0 0 5" ,"0 1 4" ,0 2 3 ...,2 1 2. /// </summary> /// <param name="sum"></param> /// <param name="k"></param> /// <returns>"0 0 5" ,"0 1 4" ,0 2 3 ...,2 1 2</returns> public static List<string> C(int sum, int k) List<string> result = new List<string>(); C2(sum, k, "", result); return result; private static void C2(int sum, int k, string str, List<string> result) if (sum >= 0) if (k == 1) result.Add(str + " " + sum); else for (int i = 0; i <= sum; i++) C2(sum - i, k - 1, str + " " + i, result);
以上是关于递归练习1,数字分组的主要内容,如果未能解决你的问题,请参考以下文章