Look And Say 序列php实现代码
Look And Say 序列php实现代码
发布时间:2016-12-29 来源:查字典编辑
摘要:比如:第一个数字是: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

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新php教程学习
热门php教程学习
编程开发子分类