poj 2081 Recaman's Sequence
纯打表。。。
#include<stdio.h> #include<string.h> #include<stdlib.h> #include<math.h> #include<algorithm> using namespace std; int a[500200]; bool hash[3012500]; void init() { memset(hash,false,sizeof(hash)); a[0]=0; int i; for(i=1;i<500200;i++) { a[i]=a[i-1]-i; if(!(a[i]>0&&hash[a[i]]==false)) { a[i]=a[i-1]+i; } hash[a[i]]=true; } } int main() { init(); int n; while(scanf("%d",&n),n!=-1) { printf("%d\n",a[n]); } return 0; }
16ms