编程求组合
#include <stdio.h>
#include <conio.h>
long fac(int);
long comb(int n,int m);
void main()
{
int n,m;
long result;
clrscr();
scanf("%d,%d",&n,&m);
result=comb(n,m); /*调用组合函数*/
printf("%ld",result);
}
long fac(int k) /*定义阶乘的函数*/
{
long f=1;
for (int i=1;i<=k;i++)
f=f*i;
return f;
}
long comb(int n,int m) /*定义组合函数*/
{
long c;
c=fac(m)/(fac(n)*fac(m-n)); /*嵌套调用阶乘函数*/
return c;
}
#include <conio.h>
long fac(int);
long comb(int n,int m);
void main()
{
int n,m;
long result;
clrscr();
scanf("%d,%d",&n,&m);
result=comb(n,m); /*调用组合函数*/
printf("%ld",result);
}
long fac(int k) /*定义阶乘的函数*/
{
long f=1;
for (int i=1;i<=k;i++)
f=f*i;
return f;
}
long comb(int n,int m) /*定义组合函数*/
{
long c;
c=fac(m)/(fac(n)*fac(m-n)); /*嵌套调用阶乘函数*/
return c;
}
#include<stdio.h>
#include<conio.h>
long int pq(long int n)
{
if(n==0||n==1)return 1;
else
return n*pq(n-1);
}
void main()
{
long int m,n;
printf("Please input the value of m,n(m>=n>=0):");
scanf("%ld,%ld",&m,&n);
if(m<n||m<0||n<0)
printf("Error!\n");
else
printf("The result is:%ld\n",pq(m)/pq(m-n)/pq(n));
}
#include<conio.h>
long int pq(long int n)
{
if(n==0||n==1)return 1;
else
return n*pq(n-1);
}
void main()
{
long int m,n;
printf("Please input the value of m,n(m>=n>=0):");
scanf("%ld,%ld",&m,&n);
if(m<n||m<0||n<0)
printf("Error!\n");
else
printf("The result is:%ld\n",pq(m)/pq(m-n)/pq(n));
}