zoukankan      html  css  js  c++  java
  • 2017年09月23日普级组 数列

    Description

    小S今天给你出了一道找规律题,题目如下:
    有如下的数列1,11,21,1211,111221,312211,……
    小S问你这个数列的第N项是多少,而你一头雾水根本找不出规律。
    聪明的小R悄悄地告诉你是这样的
    1,
    上一个数是一个1,写作11
    上一个数是两个1,写作21
    上一个数是一个2,一个1,写作1211
    上一个数是一个1,一个2,两个1,写作111221,
    …………
    相信聪明的你一定可以解决这个问题。

    Input

    第一行包括一个正整数N。

    Output

    一行一个正整数(注意数字可能会唱过长整形,请注意用数组或者字符串存储)

    Sample Input

    6
    

    Sample Output

    312211

    Hint

    对于100%的数据,。

    分析
    水题一道,题目里有讲规律,仔细看题就行。

    程序:

    var
    n,i,j:longint;
    a:array[0..40]of ansistring;
    zfc,zf:ansistring;
    bz:char;
    tj:int64;
    begin
        assign(input,'num.in');
        reset(input);
        assign(output,'num.out');
        rewrite(output);
        read(n);
        a[1]:='1';
        a[2]:='11';
        a[3]:='21';
        a[4]:='1211';
        a[5]:='111221';
        a[6]:='312211';
        for i:=7 to n do
        begin
            a[i]:='';
            zfc:=a[i-1];
            bz:=zfc[1];
            tj:=0;
            for j:=1 to length(zfc) do
            if zfc[j]=bz then inc(tj) else
            begin
                str(tj,zf);
                a[i]:=a[i]+zf+bz;
                bz:=zfc[j];
                tj:=1;
            end;
            str(tj,zf);
            a[i]:=a[i]+zf+bz;
        end;
        write(a[n]);
        close(input);
        close(output);
    end.
  • 相关阅读:
    第三章读书笔记
    第二章读书笔记
    第一章读书笔记
    第四章读书笔记
    《android深入探索》第一章心得
    C语言I博客作业04
    C语言I博客作业03
    C语言I博客作业02
    C语言I博客作业4
    C语言博客作业3
  • 原文地址:https://www.cnblogs.com/YYC-0304/p/9500045.html
Copyright © 2011-2022 走看看