> php教程 > PHP源码 > 본문

Look And Say 序列php实现代码

PHP中文网
풀어 주다: 2016-05-26 08:20:59
원래의
1066명이 탐색했습니다.

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.&#39;</br>&#39;; 
for($i=0;$i<10;$i++) 
{ 
$test_str=look($test_str); 
print $test_str."</br>"; 
}
로그인 후 복사

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

最后输出结果: 


11 
21 
1211 
111221 
312211 
13112221 
1113213211 
31131211131221 
13211311123113112211 
11131221133112132113212221 

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿