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