首页 > 编程知识 正文

35选5有多少种组合,Bb和Bb种基因组合怎么计算

时间:2023-05-03 14:01:49 阅读:112827 作者:1977

组合数计算的几种方法之一,公式法(该方法适用于n和m均为小时使用) )公式:C(n,m)=C(n-1,m)+C(n-1,m-1)

计算中可以采用动态规划的方法

代码说明:

staticlongc(intn,int m ) {long[] res=new long[m 1]; Arrays.fill(RES,1 ); for(intI=0; i=n; I ) for(intj=math.min ) I,m ); j=0; j--}{if(j==0||I==j ) {res[j]=1; 继续; }res[j]=res[j] res[j-1]; } }返回RES [ m ]; )方法二、利用乘法逆元(该方法适用于对组合数求模型)对乘法逆元陌生人需要自行百度。 这里,为了将) a/b ) %p变换为(a*inv(b ) ) p而导入了乘法逆元),将除法求型变换为乘法求型,但是对于逆元的求解,由于本人喜欢使用费马小定理,所以满足了该要求

代码说明:

//组合数staticlongc(intn,int m ) if ) m0||nm ) return -1; //if不存在(m=n-m ) m=n-m; //转换为较小的一部分long up=1,lo=1的for(intI=0; im; I ) up=(up*(n-I ) ) %p; lo=(lo* ) I1 ) ) %p; }返回(up * inv ) (int ) lo,p ) %p; }staticintinv(inta,int p ) returnquickpow,p-2,p ); //求逆元的另一种方法//return(int ) long ) p-p/a (inv ) p%a,p ) %p; }staticintquickpow(inta、int b、int mod ) {long x=a % mod; 长RES=1; while(b!=0) if () B1 )==1) RES=) RES*x ) %mod; x=(x*x ) %mod; b=1; }返回(int ) res; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。