zoukankan      html  css  js  c++  java
  • Look And Say 序列

    Look And Say序列,简单的说就是根据你看到的数字,写出下一个数字。比如:

    第一个数字是:1。

    看着第一个数字你可以说1个1,那么第二个数字就是:11。

    看着第二个数字你可以说2个1,即第三个数字是:21。

    看着第三个数字你可以说1个2,1个1,即第四个数字是:1211。

    看着第四个数字你可以说1个1,1个2,2个1,即第五个数字是:111221。

    …………

    根据详细的说明可以参见:http://en.wikipedia.org/wiki/Look-and-say_sequence

    下面用PHP实现这个序列,如下:

    function look($str)
    {
    $len = strlen($str);
    $count=0;
    $result='';
    $temp=$str[0];
    for($i=0;$i<$len;$i++)
    {
    if($temp!=$str[$i])
    {
    $result.=$count.$temp;

    $temp = $str[$i];
    $count=1;
    }
    else
    {
    $count++;
    }
    }
    $result.=$count.$temp;
    return $result;
    }

    $test_str = "1";
    echo $test_str.'</br>';
    for($i=0;$i<10;$i++)
    {
    $test_str=look($test_str);
    print $test_str."</br>";
    }

    注意look函数中的for循环,当$len-1时,$result并未累加最后一位数字的统计结果,所以在循环完成后再次累加一次。

    最后输出结果:

    1
    11
    21
    1211
    111221
    312211
    13112221
    1113213211
    31131211131221
    13211311123113112211
    11131221133112132113212221

  • 相关阅读:
    web自动化中的上传操作
    HTTP协议
    创建一个get测试
    下载安装
    unittest 介绍
    selenium常用操作
    video视频操作
    调用JavaScript
    下拉框操作
    弹窗操作
  • 原文地址:https://www.cnblogs.com/ywxgod/p/2052795.html
Copyright © 2011-2022 走看看