zoukankan      html  css  js  c++  java
  • 数列

    题目描述

    有一个数列的定义为:
    F(1) = 1;
    F(2) = 11;
    F(3) = 21;
    F(4) = 1211;
    F(5) = 111221;
    F(6) = 312211;
    ……
    现在给定一个正整数 n,求的F(n)的长度。

    输入

    输入包含多组测试数据。
    每组数据只有一行为 1 个整数 n(0 < n < 30)。
    输入 0 代表输入的结束,该组数据不做处理。 

    输出

    对于每组测试数据,按照题目描述输出对应的结果。

    示例输入

    1
    6
    0

    示例输出

    1
    6
    View Code
     1 #include<stdio.h>
     2 #include<string.h>
     3 char s[100000], w[100000] ;
     4 int main()
     5 {
     6  int n;
     7  while(scanf("%d",&n)!=EOF)
     8  {
     9    if(0==n) break ;
    10    s[0]='1' ;
    11    s[1]='\0' ;
    12    if(1==n)
    13    {
    14      puts(s);
    15      continue;
    16    }
    17    int in=1,i,j,o ;
    18    char c ;
    19    for(i=1; i<n; i++)
    20    {
    21      int p=strlen(s),index=0 ;
    22      for(j=0; j<p;)
    23      {
    24        in=1 ;
    25        c=s[j] ;
    26        for(o=j+1;o<p;o++)
    27        {
    28          if(c==s[o])
    29          {
    30            in++;
    31          }
    32          else break;
    33       }
    34       int d=in+48 ;
    35       w[index]=d ;
    36       index++ ;
    37       w[index]=c ;
    38       index++ ;
    39       j+=in ;
    40     }
    41     w[index]='\0' ;
    42     strcpy(s,w) ;
    43   }
    44    printf("%d\n",strlen(s)) ;
    45  }
    46  return 0 ;
    47 }

    外观数列。还不是太明白

  • 相关阅读:
    快速幂取模算法详解
    牛客网小白月赛5I区间(差分数组)
    多重背包模板
    hdu5791(DP)
    CodeForces
    最长上升子序列LIS(51nod1134)
    POJ1088(记忆搜索加dp)
    最长公共子序列LCS(POJ1458)
    Gym 100971J-Robots at Warehouse
    模板
  • 原文地址:https://www.cnblogs.com/yelan/p/2875823.html
Copyright © 2011-2022 走看看