PHP头条
热点:

LookAndSay序列php实现代码-PHP源码


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

比如:
第一个数字是:1。
看着第一个数字你可以说1个1,那么第二个数字就是:11。
看着第二个数字你可以说2个1,即第三个数字是:21。
看着第三个数字你可以说1个2,1个1,即第四个数字是:1211。
看着第四个数字你可以说1个1,1个2,2个1,即第五个数字是:111221。
…………
根据详细的说明可以参见:https://www.php1.cn/
下面用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.'
'; for($i=0;$i<10;$i++) { $test_str=look($test_str); print $test_str."
"; }


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

最后输出结果:

1
11
21
1211
111221
312211
13112221
1113213211
31131211131221
13211311123113112211
11131221133112132113212221

作者:ywxgod

www.phpzy.comtrue/phpyy/43172.htmlTechArticleLookAndSay序列php实现代码-PHP源码 Look And Say序列,简单的说就是根据你看到的数字,写出下一个数字 比如: 第一个数字是:1。 看着第一个数字你可以说1个1,那么第二个数字就是:11。...

相关文章

PHP之友评论

今天推荐