请问这个程序是什么意思

请问这个程序是什么意思?

 

#include <stdio.h>

int jc(int k);

int main()

{

 int m,n,c,c1,c2,c3;

 printf("请输入m、n的值");

scanf("%d%d",&m,&n);

c1=jc(m);

c2=jc(n);

c3=jc(m-n);

  c=c1/(c2*c3);

  printf("%d\n",c);

}

int jc(int k)

 { int i,s=1;

  for(i=1;i<=k;i++)

    s=s*i;

return s;

}

jc(int k)函数是用来求阶乘的,

main函数是用来求C(m,n)的,就是从m个颜色的球中取n个,有多少种取法