zoj 2421 Recaman's Sequence

    技术2022-05-11  64

    // 一次ac 算法很简单,题目已经给出,b[]是作为标记已有数用的,这样不用去搜,以空间换取时间  // zoj 2421  #include  < stdio.h > #include  < stdlib.h > #include < string .h > #define  MAX 500000 #define  MAXA 5000000   int  a[MAX],b[MAXA]; int  main() {       int i;    a[0= 0;    memset(b,0,MAXA);       for(i = 1; i < MAX; i ++ )    {        a[i] = a[i - 1- i;        if(a[i] <= 0 || b[a[i]])        {            a[i] = a[i - 1+ i;        }        b[a[i]] = 1;    }    int n;    while(scanf("%d"&n),n!= -1)    {       printf("%d ",a[n]);                      }    system("pause");    return 0;        }  

    最新回复(0)