fact函数需要自己定义,自己构造,用double
1.举个例子:
fact要先定义和构造
#include<stdio.h>
double fact (int n)
{
int i;
double x;
x=1;
for(i=1; i<=n; i++){
x=x*i;
}
return x;
} //以上是定义和构造fact函数做阶乘
int main (void)
{
int i, n, m;
double result;
scanf("%d %d", &m, &n);
for(i=0; i<=n; i++){
result=fact(n)/(fact(m)*fact(n-m));
}
printf("result = %.0f", result);
return 0;
}
2.在举个例子:计算序列 1!+2!+3!+⋯ 的前N项之和。
# include<stdio.h>
double fact (int n){
int i;
int sum = 1;
for(i=1;i<=n;i++){
sum*=i;
}
return sum;
} //还是先构造fact函数
int main()
{
int i,N,sum = 0;
scanf("%d",&N);
for(i=1;i<=N;i++){
sum = sum + fact(i);
}
printf("%d",sum);
return 0;
}