• poj 1579 Moving Tables(水)


    Description

    The Recaman's sequence is defined by a0 = 0 ; for m > 0, a m = a m−1 − m if the rsulting a m is positive and not already in the sequence, otherwise a m = am−1 + m. 
    The first few numbers in the Recaman's Sequence is 0, 1, 3, 6, 2, 7, 13, 20, 12, 21, 11, 22, 10, 23, 9 ... 
    Given k, your task is to calculate a k.

    Input

    The input consists of several test cases. Each line of the input contains an integer k where 0 <= k <= 500000. 
    The last line contains an integer −1, which should not be processed.

    Output

    For each k given in the input, print one line containing a k to the output.

    Sample Input

    7
    10000
    -1

    Sample Output

    20
    18658
    题意:找第k个Recaman's sequence数。
    注意:没什么好注意的。
    ac代码:
     1 #include<stdio.h>
     2 int d[600000],vis[9000000];
     3 int main()
     4 {
     5     int a,b,i,j,n;
     6     d[0]=0;
     7     for(i=0;i<500005;i++)
     8     {
     9         if(d[i-1]-i<0||vis[d[i-1]-i]==1)
    10         d[i]=d[i-1]+i;
    11         else if(!vis[d[i-1]-i])
    12         d[i]=d[i-1]-i;
    13         vis[d[i]]=1;
    14     }
    15     while(scanf("%d",&n))
    16     {
    17         if(n==-1)
    18         break;
    19         printf("%d
    ",d[n]);
    20     }
    21 }
  • 相关阅读:
    pytorch基础(4)-----搭建模型网络的两种方法
    Java
    Tools
    Maven
    Java
    DevOps
    Linux
    Java
    Java
    Nutch 使用总结
  • 原文地址:https://www.cnblogs.com/Xacm/p/3834057.html
Copyright © 2020-2023  润新知