标题:新手,问题。
只看楼主
暴风
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-6-19
 问题点数:0 回复次数:12 
新手,问题。

我想求1!+2!+3!+..+12!的和。
#include <iostream>

using namespace std;

int main()
{
int a=1,sum=0,b=0;
for(int i=1;i<=12;++i)
{ for(int b=i;b>1;--b)
{
a=b*(b-1);

}
sum=sum+a;
cout<<sum<<endl;
}

system("PAUSE");

}
可结果却是
1
3
5
7
9
11
13
15
17
19
21
23
我想了半天也想不出是哪里出错了,
请前辈求教呀!

搜索更多相关主题的帖子: sum int std PAUSE 
2007-06-26 22:00
游乐园
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:671
专家分:0
注 册:2006-11-1
得分:0 

#include<iostream>
using namespace std;

int main()
{
int sum,result=0;
for(int i=1;i<=12; ++i)
{
for(int j=1,sum=1;j<=i; ++j) sum*=j;
result+=sum;
}
cout<<result<<endl;
return 0;
}


unicorn-h.spaces. ◇◆ sava-scratch.spaces.
2007-06-26 22:08
暴风
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-6-19
得分:0 

不对呀,你的程序的结果是

52445232

可结果不是应该是
522956313吗


2007-06-27 08:32
kaikai19958
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-7-13
得分:0 
#include<iostream>
using namespace std;
void main()
{
int i,j,a=1,sum=0;
for(i=1;i<=12;i++)
{
for(j=1;j<=i;j++)
{
a*=j;
cout<<a<<endl;
}
sum+=a;
a=1;
}
cout<<sum<<endl;
}
试试这个...
2007-07-15 09:02
kaikai19958
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-7-13
得分:0 
程序中间cout&lt;&lt;a&lt;&lt;endl;多余!删了它
2007-07-15 09:03
夜魔神
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-7-15
得分:0 

int k=1,j,i;
for(i=1;i<=12;i++)
{
for(j=1,sum=1;j<=i;j++)
{
sum=sum*j;
}
k=sum+k;
}
cout<<k<<endl;


2007-07-15 15:32
HJin
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:401
专家分:0
注 册:2007-6-9
得分:0 
回复:(暴风)新手,问题。

/*---------------------------------------------------------------------------
File name: sumOfFactorials.cpp
Author: HJin (email: fish_sea_bird [at] yahoo [dot] com )
Created on: 7/15/2007 02:23:48
Environment: Windows XP Professional SP2 English +
Visual Studio 2005 v8.0.50727.762

我想求1!+2!+3!+..+n!, n = 12。

(n> 12 will overflow the 32-bit integers.)

Output:

1 1 1
2 3 3
3 9 9
4 33 33
5 153 153
6 873 873
7 5913 5913
8 46233 46233
9 409113 409113
10 4037913 4037913
11 43954713 43954713
12 522956313 522956313
Press any key to continue . . .

*/

#include <iostream>
using namespace std;

/** version 1 --- one of the best algorithms.

O(1) space + O(n) time.
*/
int sumOfFactorials(int n);

/** version 2
O(n) space + O(n) time.

Thus, version 1 is better.
*/
int sumOfFactorials2(int n);

int main()
{
for(int i=1; i<=12; ++i)
{
cout<<i<<"\t"<<sumOfFactorials(i)<<"\t\t"<<sumOfFactorials2(i)<<endl;
}

return 0;
}

int sumOfFactorials(int n)
{
int currFactorial = 1;
int currSum = 1;
int k;

for( k = 2; k<=n; ++k)
{
currFactorial *= k;
currSum += currFactorial;
}

return currSum;
}

int sumOfFactorials2(int n)
{
if(n<1)
{
return 1;
}

int *factorials = new int[n];
int i;

factorials[0] = 1;
for(i=1; i<n; ++i)
{
factorials[i] = (i+1) * factorials[i-1];
}

for(i=0; i<n-1; ++i)
{
factorials[n-1] += factorials[i];
}

// use i to store the result
i = factorials[n-1];

delete [] factorials;

return i;
}

[此贴子已经被作者于2007-7-15 17:40:10编辑过]


I am working on a system which has no Chinese input. Please don\'t blame me for typing English.
2007-07-15 16:44
孤魂居士
Rank: 2
来 自:老A(中国地大)
等 级:论坛游民
威 望:4
帖 子:1142
专家分:18
注 册:2007-5-21
得分:0 

准备用3年做个高级软件工程师 10年也做不成。准备用10年做成高级软件工程师 3年就成了QQ 群 45771086
欢迎版主...欢迎JAVA爱好者...
一起从深夜 到凌晨...
2007-07-16 10:47
piaohai09
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-7-16
得分:0 

你的输出是不是要放到下面的那个大括号里面,我也是新手!!


我是新手大家多多照顾,谢谢
2007-07-16 17:00
野比
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:1627
专家分:516
注 册:2007-5-24
得分:0 
呵呵, HJin的代码还是那么正规..

女侠,约吗?
2007-07-16 19:14



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-150577-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.686799 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved