開始还以为暴力做不出来,须要找规律,找了半天找不出来。原来直接暴力。。
代码例如以下:
#include<stdio.h> int a[1000050]; int b[100000000]={0}; int main() { int i,k; a[0]=0; for(i=1;i<=500000;i++) { a[i]=a[i-1]-i; if(a[i-1]-i>0&&!b[a[i-1]-i]) a[i]=a[i-1]-i; else a[i]=a[i-1]+i; b[a[i]]=1; } while(scanf("%d",&k)!=EOF) { if(k==-1) break; else printf("%d ",a[k]); } return 0; }