当前位置: 编程技术>.net/c#/asp.net
C#实现排列组合算法完整实例
来源: 互联网 发布时间:2014-11-03
本文导语: 排列组合是常见的数学问题,本文就以完整实例形式讲述了C#实现排列组合算法的方法。分享给大家供大家参考之用。具体方法如下: 首先,数学中排列组合,可表示为:排列P(N,R) 其实排列实现了,组合也就实现了,组合C(...
排列组合是常见的数学问题,本文就以完整实例形式讲述了C#实现排列组合算法的方法。分享给大家供大家参考之用。具体方法如下:
首先,数学中排列组合,可表示为:排列P(N,R)
其实排列实现了,组合也就实现了,组合C(N,R)就是P(N,R)/P(R,R) ,实现这一功能比较简单的是递归算法,但考虑到递归的性能,下面采用了2种非递归的方法,具体代码如下
using System; using System.Collections.Generic; namespace Test { class Program { static void Main(string[] args) { Console.WriteLine(P1(6, 3)); Console.WriteLine(P2(6, 3)); Console.WriteLine(C(6, 2)); } /// /// 排列循环方法 /// /// /// /// static long P1(int N, int R) { if (R > N || R