学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
发新话题
打印

求1!+2!+3!+4!+.....+20!

d
〃秋風〃掃落葉あ

TOP

你自己不知道做吗?
用平常的FOR语句也做的出
你自己想想,不懂在问`

TOP

回复:(熊猫or彦)求1!+2!+3!+4!+.....+20!

#include <stdio.h>
void main()
{
long double jiecheng(int n);
long double i=0,sum=0;
for(i=0;i<20;i++)
{sum=sum+jiecheng(i+1);

}
printf("%f",sum);
}
long double jiecheng(int n)
{
long double c;
if(n==1)
c=1;
else
c=n*jiecheng(n-1);
return(c);
}

我做出的答案是:2561327494111820300.000000 好像答案不对的,你自己检查一下。

TOP

这类的题目大多是先考虑 每一项的实现方式,比如 1 1*2 1*2*3
t=1;
t=t*i;i++
然后考虑把他们加起来,就和累加一样的
s=0;
s=s+t;
然后综合一下吧,我都是这么做的,一起学习.

TOP

太简单了~~~~~~~~~

TOP

#include <iostream>
#define MAX 30
int main()
{
int i,k,sum[MAX] ;
double SUM = 0;
for(i = 1;i <= MAX;i++)
{
k = i-1;
sum[k] = 1;
for(int j = i;j > 0;j--)
sum[k] *= j;
}
for(k = 0;k < MAX;k++)
SUM +=sum[k];
std::cout<<SUM<<std::endl;
return 0;
}

TOP

要掌握算法

TOP

应该自己多看看各种示例

TOP

三楼的j是不是多于了哦
#include<iostream>
using namespace std;
#define N 20
void main()
{
int i;
long sum=0,s=1;
for(i=1;i<=N;i++)
{ s*=i;
sum+=s;
}
cout<<sum<<endl;
}

TOP

20!能输出么?

-------------------不再浪费一秒钟---------------------

TOP

发新话题