int comb(int n, int m)
公司主营业务:成都做网站、网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出恩阳免费做网站回馈大家。
{
return fac(m)/ (fac(n) * fac(m-n));
}
int fac(int n)
{
int result=1,i;
for (i=1;i=n;i++)
result *= i;
return result;
}
扩展资料:
由fxccommercial提出,系fxccommercial本人发现abcd=a*a!+b*b!+c*c!+d*d!并归纳整理成为一个新的数学定理猜想。
这个公式描述的是,从大到小排列的n+1个数,对每个数取n次方,用(-1)^nC_n^k做系数,实现奇偶项数的差项和,则这列数的和为n!,目前fxccommercial已得到一个关于他的推论,经验证是正确的。
参考资料来源:百度百科-阶乘数
C语言中,每个函数都有返回值类型。可以是void,int,double,等,也可以是struct类型。
在返回值是void类型的函数中,return一般在最后一行,后面不加任何值,而且此时return可以省略。如:
void printResult(int n)
{
printf("%d\n",n);
return;
}
并不是return必须放在最后一行。只要达到这个函数的目的就能够返回:
如寻找学号是200的学生,如果找到就输出学号,找不到就返回的一个函数:
void findStudentByNumber(int n,int sn[],int m)
{//m是学生总数,n是查找的学号,sn是个数组,存放多个学生学号;
int i;
for(i=0;i!=m;i++)
if(sn[i]==n)
{
printf("%d",n);
return;//已经找到,不需要再找;
}
return;//找遍了,没找到,此处返回,此处可省略,因为是void返回类型;
}
非void返回类型的函数返回语句不能省略,并且要返回一个与返回类型相同的值。
如:
int add(int a,int b)
{
return a+b;
}
自定义函数的方法:VC中,定义函数分为两步:
I.声明:在main函数开头定义变量的位置,声明函数:定义上述函数声明是:
int add(int a,int b);
注意分号,声明前部不能有执行语句;
II.把下面的函数定义部分放在main函数外部
int add(int a,int b)
{
return a+b;
}
推荐放在main的后花括号后面,注意此处的int add(int a,int b)后面并没有分号。
VC里面,返回类型是int的函数可以省略声明部分
#include stdio.h
int cc(int a[], int n, int k, int t)
{
int b[128];
int i, j, m;
if (n == k)
{
for(i=0; in; i++)
{
printf("%8d", a[i]);
}
printf("\n");
return 0;
}
for (m=0; mt; m++)
{
j = 0;
for (i=0; in; i++)
{
if (i == m)
continue;
b[j++] = a[i];
}
cc(b, n-1, k, m);
}
return 0;
}
int main ()
{
int n, k;
int i;
int s[128];
printf("请输入n:");
scanf("%d", n);
printf("请输入k:");
scanf("%d", k);
for (i=0; in; i++)
s[i] = i;
cc(s, n, k, n);
return 0;
}
你自己再改改,我是写到标准输出了,你改成写到数阻里就可以了。
#include stdio.h
#include stdlib.h
int C(int,int);
int main()
{
int x,y;
scanf("%d,%d",x,y);
printf("%d",C(x,y));
}
int C(int n,int m) /*求n个取m个组合数*/
{
int i,j,s1,s2,s;
for (i=1,s1=1;i=n;i++)
{
s1=s1*i;
}
for (j=1,s2=1;j=m;j++)
{
s2=s2*j;
}
s=s1/s2;
return s;
}