首頁 >後端開發 >php教程 >hotmail outlook Look And Say 序列php實作程式碼

hotmail outlook Look And Say 序列php實作程式碼

WBOY
WBOY原創
2016-07-29 08:45:121469瀏覽

例如:
第一個數字是: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{
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{
$test_str=look($test_str);
print $test_str."";
}


注意look函數中的for循環,當$len-1時,$result並未累積最後一位數字的統計結果,所以在循環完成後再次累加一次。
最後輸出結果:
1
11
21
1211
111221
312211
13112221
312211
13112221
1131313131 13211311123113112211
11131221133112132113212221
作者:ywxgod

以上就介紹了hotmail outlook Look And Say 序列php實作程式碼,包含了hotmail outlook方面的內容,希望對PHP教學有興趣的朋友有幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn