#include<stdio.h>
#include<string.h>
#define N 510000
int dp[N];
int f[10000000];
int main() {
int k,n,m,i,j;
dp[0]=0;
memset(f,0,sizeof(f));
for(i=1;i<=500000;i++) {
if(dp[i-1]-i>0&&f[dp[i-1]-i]==0) {
dp[i]=dp[i-1]-i;
f[dp[i]]=1;
}
else {
dp[i]=dp[i-1]+i;
f[dp[i]]=1;
}
}
while(scanf("%d",&n),n!=-1) {
printf("%d\n",dp[n]);
}
return 0;}
poj 2081 简单递推
最新推荐文章于 2021-02-08 10:58:47 发布