求解快快快快快快快快快快快快

24.用循环结构编程实现,自然数1~100的阶乘之和,SUM= 1! 2.....10

#include<iostream.h>
int funy(int n)  //递归函数
{
    if(n==1)
        return 1;
    else
        return (funy(n-1)*n);
}
void main()
{
    int i,a=0;
    for(i=1;i<=10;i++)
        a=a+funy(i);   //阶乘之和
    cout<<a<<endl;
}

#include<stdio.h>
void main()
{
int i;
double t=1,sum=0; //由于100的阶乘int和long int都放不下.所以用double.
for(i=1;i<=100;i++) //从1循环到100.
{
t = t * i; //计算1~100的阶乘.
sum = sum + t; //将1~100的阶乘累加到sum中.
}
printf("%.0f\n",sum); //输出sum.
}

 

/* Note:Your choice is C IDE */
#include "stdio.h"
/*
   	函数的递归调用
   		1.函数自己调用自己
   		2.函数一定有一个出口;
	
	递归调用是一种堆栈原理:后进先出
*/
int jiechen(int n);
//计算n的阶乘(递归函数);
int jiechen(int n)
{
	if(n==0||n==1)
		return 1;
	return jiechen(n-1)*n;
}
void main()
{
	int s;
	int n;
	int i;
	double sum=0;
	printf("请输入一个正整数:");
	scanf("%d",&n);
	for(i=1;i<=100;i++){
		s=jiechen(n);
		sum += s;
		printf("%d的阶乘=%d\n",i,s);
	}
	printf("sum=%d\n",sum);
}

 

#include <iostream>
using namespace std;
int main() {
    int n;
    cin>>n;
    //sum为阶乘之和,factorial为i的阶乘
    long long sum=0, factorial=1;
    for(int i=1; i<=n; i++) {
        factorial*=i;
        sum+=factorial;
    }
    cout<<sum;
    return 0;
}

 

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

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

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