您的位置:

c语言写组合数,c语言实现组合数

本文目录一览:

c语言编程,组合数

#includeiostream

using namespace std;double jiecheng(int n)

{

if(n==0)

return 0;

if(n==1)

return 1;

double m=n;

while(!(n2))

{

m=m*(n-1);

n--;

}

return m;

}main()

{

int n,r;

double zuheshu;

printf("请输入n和r(n1且r=n):\n");

scanf("%d%d",n,r);

printf("组合数=%f",zuheshu=(jiecheng(n)/(jiecheng(r)*jiecheng(n-r))));

} 这是在VC++环境中编的,如果在tuboC中运行,只需将头文件更改下就可以了

C语言中怎么组合新数字?

C语言中组合新数字的方法:定义一个大一点的数组,然后把所有的数组循环赋值给你定义的这个数组就行了啊,只不过是大的这个数组的下标一直往上加。

#includestdio.h

int main()

{

int x[200];

int a[20],b[20],c[20];

int i=0,j;

for(j=0;j20;j++)

x[i++]=a[j];

for(j=0;j20;j++)

x[i++]=b[j];

for(j=0;j20;j++)

x[i++]=c[j];

return 0;

}

其他位运算符:

1、按位或运算符“|”是双目运算符。 其功能是参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。

2、按位异或运算符“^”是双目运算符。 其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。

3、求反运算符~为单目运算符,具有右结合性。 其功能是对参与运算的数的各二进位按位求反。

用c语言编程,求组合数!

#include stdio.h

void main()

{

void choose(int a,int b);

int a,b,c,d;

printf("请输入两个整数,以0,0结束\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语言求组合数

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;

}