實現(xiàn)的算法很多, 下面給出一個不需要遞歸的算法; 需要設(shè)計兩個函數(shù)。
山亭網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯(lián)從2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)。
unsigned long factorial (unsigned long n);
long long perm(unsigned long m, unsigned long n);
unsigned long factorial (unsigned long n)
{
unsigned long value = (n == 0) ? 1 : n;
while( n = 2 )
value *= --n;
return value;
}
long long perm(unsigned long m, unsigned long n)
{
if (m n)
return -1;
else
return (unsigned long) (factorial(n)/factorial(n-m));
}
只為了mn就要返回-1, 有點浪費啊~~~
注意求值范圍, 如果需要可以int64擴展。。。
#include stdio.h
void main()
{
void choose(int a,int b);
int a,b,c,d;
printf("請輸入兩個整數(shù),以0,0結(jié)束\n");
scanf("%d,%d",a,b);
scanf("%d,%d",c,d);
if(c==0d==0)
choose(a,b);
}
void choose(int a,int b)
{
if(ba)
{
printf("error!");
}
else
{
int fenmu=b,fenzi=a;
for(int i=a-1;ia-b;i--)
fenzi*=i;
for(int j=b-1;j1;j--)
fenmu*=j;
int temp;
temp=fenzi/fenmu;
printf("%d",temp);
}
}
C上標(biāo)是m下標(biāo)是n,表示從n個不同元素中任取m個元素的不同取法的種數(shù),稱為組合數(shù)。C上標(biāo)是m下標(biāo)是n等于(n!)/[m!*(n-m)!]
double?fact(long?num)
{
for?(long?i?=?1;?num??0;?num--)
{
i?*=?num;
}????
}
int?main()
{
long?m;
long?n;
long?C;
scanf("%ld?%ld",?m,?n);
C?=?fact(n)?/?((fact(m))?*?fact(n-m));
printf("%ld",C);
return?0;
}
本文題目:c語言中組合數(shù)的函數(shù),c++組合函數(shù)
標(biāo)題URL:http://vcdvsql.cn/article16/hsscdg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、定制網(wǎng)站、微信小程序、App開發(fā)、網(wǎng)站營銷、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)