输入一个正整数求1!+2!+3!……+n!的和 用C++

2024-11-12 20:16:47
推荐回答(4个)
回答1:

#include  
using namespace std;
int main()  

    int n=0;
    long m=1,sum=0;  
    cin>>n;//输入n,n过大会溢出
    
    for(int i=1; i<=n; i++) 
    {
            m = m*i;//累积的i!
            sum = sum + m;//求和
    }
     
    cout<    system("pause");
}

已经验证过了,是对的。望采纳!

回答2:

#include
int Fun(int n)
{
int j;
if(n==1)j=1;
else j=n*Fun(n-1);
return j;
}
int main()//主函数
{
int Num,i,sum=0;
cout<<"请输入一个整数:"< cin>>Num;
for(i=1;i<=Num;i++)
sum+=Fun(i);
cout<<"累加结果:"< return 1;
}

回答3:

#include
using namespace std;
long fac(int);
int main(int argc, char *argv){
int n = 0;
long sum = 0;
cin >> n; //输入n
for (int i = 1; i <= n; i++)
sum += fac(i);
cout << sum << endl;
return 0;
}
//上面是main函数, 下面是计算阶乘的
long fac(int n){
if (n == 1) reutrn 1;
else return (n*(n-1));
}
//fac函数无限呼出自身完成阶乘

手打的代码,格式有点不整齐,sorry

回答4:

#include
using namespace std;
int main(){

int n,s=0;
cin>>n;
for(int i=1;i<=n;i++)
s=s+i;
cout< return 0;
}