#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<stdio.h> #include<conio.h> longint pq(longint n) { if(n==0||n==1)return1; else return n*pq(n-1); } void main() { longint 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)); }