Bootstrap

2021-7-19 fact函数求阶乘的用法

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;
}

;