http://ac.jobdu.com/problem.php?pid=1506
虽然看过书中代码,记录如何在不用题目所说的这些条件下求和,但是果断没有想起来啊!!
作者真聪明!这都能想到。
一开始隐隐约约记着好像是用类做,但是还是没有想到怎么用类就可以求和呢。。
膜拜作者。
还需要注意的是
int Temp::n=0;
int Temp::total=0;
一定要在类外初始化。
static int n;不能直接在类内赋值,只有const static int才可以直接在类内赋值。
#include <iostream>
using namespace std;
class Temp
{
public:
static int n;
static int total;
Temp(){n++;total+=n;}
static void Reset(){n=0;total=0;}
};
int Temp::n=0;
int Temp::total=0;
int main()
{
int k;
while(cin>>k)
{
Temp::Reset();
Temp *t=new Temp[k];
cout<<Temp::total<<endl;
delete t;
}
return 0;
}
int Temp::n=0;
int Temp::total=0;