Look And Say 序列php实现的解决办法

内容摘要
这篇文章主要为大家详细介绍了Look And Say 序列php实现的简单示例,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记!比如:第一个数字是:1。看
文章正文

这篇文章主要为大家详细介绍了Look And Say 序列php实现的简单示例,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记!

比如:第一个数字是: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并未累加最后一位数字的统计结果,所以在循环完成后再次累加一次。最后输出结果:111211211111221312211131122211113213211311312111312211321131112311311221111131221133112132113212221作者:ywxgod

注:关于Look And Say 序列php实现的简单示例的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!