您的位置:首页 > 产品设计 > UI/UE

pku2081----Recaman's Sequence(按所给的递推公式来做就行)

2009-01-08 00:26 477 查看
5196K16MSG++414B
刚开始还苦恼着要不要自己重新再推一个公式出来

后来发现他给的空间和时间限制,应该是足够的,就试了一下,结果就是上面这样子。

题目思路就是:首先生成结果

主程序里直接调用就可以了。

代码如下:

Code

#include<stdio.h>

#include<string.h>

int a[500005];

bool f[3012505];

void init()

{

int i;

memset(f,0,sizeof(f));

a[0] = 0;

for(i=1;i<=500000;i++){

if(a[i-1]-i > 0 && ! f[a[i-1]-i]){

a[i]=a[i-1]-i;

f[a[i-1]-i] = 1;

}

else{

a[i]=a[i-1]+i;

f[a[i-1]+i]=1;

}

}

}

int main()

{

int k;

init();

while(scanf("%d",&k),k!=-1){

printf("%d\n",a[k]);

}

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: