注册 登录
编程论坛 C++教室

求1+||2!+||3!......前20项的和

dreamhouse 发布于 2012-04-26 15:05, 392 次点击
题目在上面!求解,新手!
2 回复
#2
liudw22012-04-26 19:50
#include <iostream>
using namespace std;

int fid(int);
int sort(int);

int main()
{
    cout << "请输入项目数(例如:7):";
    int k;
    cin >> k;

    cout << "这个阶乘的" << k << "项和为:"
         << sort(k) << endl;
}

int fid(int n)
{
    if (n == 0)
       return 0;
    else if (n == 1)
       return 1;
    else
       return n * fid(n -1);
}

int sort(int n)
{
    int sum = 0;
    for (int i = 1; i <= n; i++)
    {
        sum += fid(i);
     }
    return sum;
}
我也在刚学,经过编译程序可以运行,不过还可以优化设置条件,你可以参考下
#3
gyfabc2012-04-30 19:16
不知道这个符合你品味不?

#include<iostream>
using namespace std;
int main()
{
cout<<"本程序计算1~20的阶乘"<<endl;
int i,j;double s, sum=1;
for(i=1;i<=20;i++)
 {s=1;
 for(j=i;j>0;j--)
    {s=s*j;}
sum=sum+s;}
cout<<"sum="<<sum;cout<<endl;
return 0;


}
1