【简要题意】:这个主题是很短的叙述性说明。挺easy。
不重复。
【分析】:只需要加一个判断这个数是否可以是一个数组,这个数组的范围。
// 3388K 0Ms
#include<iostream>
using namespace std;
#define Max 500001
int a[Max];
bool b[10000000] = {false}; // b的数据范围是能够试出来的… void init()
{
a[0] = 0;
b[0] = true;
for(int m = 1;m<Max;m++)
{ a[m] = a[m-1]-m;
if(a[m]<0||b[a[m]])
{
a[m] = a[m-1] + m;
}
else{
a[m] = a[m-1] - m;
}
b[a[m]] = true;
}
} int main()
{
init();
int k;
while(cin>>k)
{
if(k == -1)
break;
cout<<a[k]<<endl;
}
return 0;
}
版权声明:本文博主原创文章。博客,未经同意不得转载。