php Look and Say 数列
Look and Say 数列 看着第一行(1), 说:1个1, 那么, 第二行就是11, 看着第二行(11), 说:2个1, 那么, 第三行就是21 ......**仅仅是有趣~**[代码片段(59行)]
  看着第一行(1), 说:1个1, 那么, 第二行就是11, 看着第二行(11), 说:2个1, 那么, 第三行就是21 ......
仅仅是有趣~
<?php
/*
 * Look and Say 数列
 * Line01: 1
 * Line02: 11
 * Line03: 21
 * Line04: 1211
 * Line05: 111221
 * Line06: 312211
 * Line07: 13112221
 * Line08: 1113213211
 */
for($i=1; $i<10; $i++)
{
    if($i == 1)
    {
        $str = '1';
    }
    else
    { 
            $count = strlen($str);
            for($j=0, $t = 1, $new_str = ''; $j<$count; $j++)
            {
                if( isset($str[$j+1]) && $str[$j] == $str[$j+1] )
                {
                    $t++;
                }
                else
                {
                    $new_str .= $t.$str[$j];
                    $t = 1;
                }
            }
        $str = $new_str;
    }
    $array[] = $str; 
}
echo '<pre>';
print_r($array);
/*
       @_@   @_@   @_@
Result:
Array
(
    [0] => 1
    [1] => 11
    [2] => 21
    [3] => 1211
    [4] => 111221
    [5] => 312211
    [6] => 13112221
    [7] => 1113213211
    [8] => 31131211131221
)
*/
      
- 上一篇:PHP cookie加密~
 - 下一篇:php 强大的PHP生成缩略图函数。
 
收藏文章
精彩图集
    
    精彩文章
    





