首页 > 试题广场 >

编程求1!+2!+3!+4!+…+12!,并试着简化程序。

[问答题]

编程求1!+2!+3!+4!+…+12!,并试着简化程序。

推荐
程序:
//=======================================
//EX0202_1.cpp
//1!+2!+3!+...+12!的和
//=======================================
#include<iostream>
using namespeace std;
//---------------------------------------
int main() {
    int sum=0;
    for(int i=1; i<=12; ++i )
    {
        int t =1;
        for(int j=1; j<=i; ++j)
        t = t * j;
        sum = sum + t
    }
    cout<<sum<<"\n";
}//=======================================
简化程序:
//=======================================
//EX0202_2.cpp
//1!+2!+3!+...+12!的和
//=======================================
#include<iostream>
using namespeace std;
//---------------------------------------
int main() {
    int sum=0;
    for(int i=1;t=1; i<=12; t*=++i)
        sum += t;
    cout<<sum<<"\n";
}//=======================================


发表于 2018-05-07 20:31:36 回复(1)
#include<iostream>
using namespace std;
int j=1,sum=0;
int main()
{
    
    for(int i=1;i<=12;i++)
    {
        j*=i;
        sum+=j;
    }
    cout<<sum<<endl;
    return 0;
}
//1.求阶乘,可用一变量A接收for循环中自增的变量B,每次用B乘以A自增之后的值即可得到数的阶乘
发表于 2019-11-14 17:02:04 回复(0)
#include <iostream>
#include <cmath>

using namespace std;
int mul(int num);

int main()
{

    //前12的阶乘之和
    int sum(0);
    for (int i = 1; i <= 12; i++)
    {
        sum += mul(i);
    }
    cout << sum << endl;
}

int mul(int num)
{
    if (num == 1)
    {
        return 1;
    }
    return num * mul(num - 1);
}

编辑于 2020-03-15 16:15:21 回复(0)

#include<iostream>

using namespace std;

template <class T>
T jiecheng(T a)
{
    if(a!=0)
    {
        return a*jiecheng(a-1);
    }
    else if(a==0) return 1;
    else return -1;
}
int main()
{
    int num;
    cout<<"请输入阶乘个数:";//求其他任意数的阶乘和
    cin >> num ;
    double sum=0;
    if (num>0)
    {
    cout<<"各项阶乘为:"<<endl;
    for(int i=num;i>0;i--)
    {
        cout<<num-i+1<<"的阶乘为:";
        cout<<jiecheng(num-i+1)<<endl;
        sum+=jiecheng(i);
    }
    cout<<"和为:"<<endl;
    cout<<sum;
    }
    else cout<<"请输入大于0的数!"<<endl;
    return 0;
}

    
发表于 2020-03-08 01:10:16 回复(0)
#include<iostream>
using namespace std;
int main()
{
    
    int i, j,sum=0;
    
    for (i = 1; i <= 3; i++)
    {
        int y = 1;
        for (j = 1; j <= i; j++)
            y = y*j;
        sum = sum + y;
        
    }
    cout << sum << endl;
    system("pause");
    return 0;
}
发表于 2020-03-02 16:45:59 回复(0)

#include<iostream>
#include<string>
using namespace std;
int mati(int n)
{
    int result=1;
    for(int i=1;i<=n;i++)
    result*=i;
return result;
}
int main()
{
   int x;
   int a=0;
   for(int i=1;i<13;i++)
   a+=mati(i);
       
   cout<<a<<endl;
    return 0;
}

发表于 2019-08-24 21:50:31 回复(0)
#include<iostream>
using namespace std
int main(){
double sum=0;
double t = 1;
for(int i=1;i<13;i++){
   t*=t;
   sum+=t;}
cout<<sum<<"\n";
}


发表于 2019-07-26 17:03:30 回复(0)