手机
当前位置:查字典教程网 >编程开发 >php教程 >Look And Say 序列php实现代码
Look And Say 序列php实现代码
摘要:比如:第一个数字是:1。看着第一个数字你可以说1个1,那么第二个数字就是:11。看着第二个数字你可以说2个1,即第三个数字是:21。看着第三...

比如:

第一个数字是: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

作者:ywxgod

【Look And Say 序列php实现代码】相关文章:

用Php实现链结人气统计

php中header跳转使用include包含解决参数丢失问题

php实现读取内存顺序号

php实现图片转换成ASCII码的方法

PHP中的traits实现代码复用使用实例

php实现ping

php实现修改新闻时删除图片的方法

如何限制访问者的ip(PHPBB的代码)

Oracle Faq(Oracle的版本)

php实现的IMEI限制的短信验证码发送类

精品推荐
分类导航