龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

php Look and Say 数列

时间:2015-03-21 11:22来源:网络整理 作者:网络 点击:
分享到:
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
)
*/

收藏文章
表情删除后不可恢复,是否删除
取消
确定
图片正在上传,请稍后...
评论内容为空!
还没有评论,快来抢沙发吧!
按钮 内容不能为空!
立刻说两句吧! 查看0条评论
精彩图集

赞助商链接