C++程序计算阶乘的和

编写求阶乘的函数,在main )函数调用此 函数,计算1!-2!+3! -4!+5!-6! +7!-8! +9!-10!,并输出计算结果

#include "stdio.h"

double fun(int n)//用double提高精度和计数位数。

{

    double sum=1.0;

    int i;

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

           sum*=i;

     return sum;

}

 

int main()

{

       int i,mark=1;

       double sum=0,item=0;

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

       {

            item=mark*fun(i);

            sum+=item;

            mark=-mark;

       }

       printf("1!-2!+3!-4!+5!-6!+7!-8!+9!-10!=%.0lf\n",sum);



}

 

#include <iostream>
using namespace std;
long factorial(int n);
int main() {
	int n = 0;
	cin >> n;
        //定义为long long
	long sum = 0;
	for(int i = 1; i <= n; i++)
                //对每个i调用factorial函数求其阶乘
		sum += factorial(i);
	cout << sum ;
	return 0;
}
long factorial(int i) {
        //这里的result一定要初始化为1
	long long result = 1;
	for(int j = 1; j <= i; j++)
		result*= j;
	return result;
}

当输入10的时候,输出结果如下:

4037913

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    /*
    	1!+2!+...10!
    */
    
    int i,j;
    double sum=0,sum1=1;
    
    
    for(i=1;i<=10;i++)
    {
    	sum1=1;
    	//计算i的阶乘
    	for(j=1;j<=i;j++)
    	{
    		sum1*=j;		
    	}
    	printf("%d!=%0.0lf\n",j-1,sum1);
    	sum+=sum1;
    }
    printf("1!+2!+...10!=%0.0lf",sum);
}