Look And Say 序列php实现代码_php技巧

比如:
第一个数字是: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.'</br>';
for($i=0;$i<10;$i++)
{
$test_str=look($test_str);
print $test_str."</br>";
}

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

最后输出结果:

1
11
21
1211
111221
312211
13112221
1113213211
31131211131221
13211311123113112211
11131221133112132113212221

作者:ywxgod

时间: 2024-11-10 01:09:44

Look And Say 序列php实现代码_php技巧的相关文章

使用bcompiler对PHP文件进行加密的代码_php技巧

使用说明: //载入函式 include_once('phpCodeZip.php'); //建立加密文件(sourceDir要加密的php文件目录,targetDir加密后的文件目录) $encryption = new PhoCodeZip('sourceDir','targetDir'); //执行行加密 $encryption->zip(); phpCodeZip.php源码下载 phpCodeZip.rar phpCodeZip.php源码内容 复制代码 代码如下: /* * @lic

PHP 等比例缩放图片详解及实例代码_php技巧

直接上代码,imgzip($src,$newwid,$newhei)这个函数带进去的分别是原图片.缩放要求的宽度.缩放的长度.代码都备注了,不懂可以留言哈哈 <?php //压缩图片 缩略图 $src= "xiezheng.jpg"; $newwid=640; $newhei= 480; function imgzip($src,$newwid,$newhei){ $imgInfo = getimagesize($src); $imgType = image_type_to_ex

PHP汉字转换拼音的函数代码_php技巧

本文实例为大家分享了PHP汉字转换拼音的函数代码,供大家参考,具体实现内容如下 <?php /************ *汉字转换拼音Class *************/ class pin{ function Pinyin($_String, $_Code='gb2312'){ $_DataKey = "a|ai|an|ang|ao|ba|bai|ban|bang|bao|bei|ben|beng|bi|bian|biao|bie|bin|bing|bo|bu|ca|cai|can|

又一个php 分页类实现代码_php技巧

复制代码 代码如下: <?php function genpage(&$sql,$page_size=10) { global $pages,$sums,$eachpage,$page; //总页数,总记录,每页数,当前页 $page = $_GET["page"]; if($page ==0)$page =1; $eachpage = $page_size; $pagesql = strstr($sql," from "); $pagesql = &

php 无限分类的树类代码_php技巧

复制代码 代码如下: <?php /** by lenush; */ class Tree { var $data = array(); var $child = array(-1=>array()); var $layer = array(-1=>-1); var $parent = array(); function Tree ($value) { $this->setNode(0, -1, $value); } // end func function setNode ($i

php读取html并截取字符串的简单代码_php技巧

复制代码 代码如下: <?php $title=''; $hello='jb51.net!'; $file=file_get_contents('http://www.baidu.com'); $file=iconv("gbk//IGNORE","utf-8",$file); //echo $file; echo strpos($file,'<title>'); echo substr($file,strpos($file,'<title&g

php google或baidu分页代码_php技巧

复制代码 代码如下: <?php /** 作者:潇湘博客 时间: 2009-11-26 php技术群: 37304662 使用方法: include_once'Pager.class.php'; $pager=new Pager(); if(isset($_GET['page'])) $pager->setCurrentPage($_GET['page']); else $pager->setCurrentPage(1); $pager->setRecorbTotal(1000);

php与XML、XSLT、Mysql的结合运用实现代码_php技巧

使用php中的xml与xslt要用到一些dll库, extension=php_domxml.dll //操作XML的函数库 extension=php_iconv.dll //转码用的,比如将GB2312的转成UTF-8的 extension=php_xslt.dll //XSLT的函数库 使用上面这三个库的时候,你要将php安装目录下的dlls目录加入到路径中,否则会找不到 这些类库的 在下面的课程中,我们会用到php中的PEAR类库,主要用了DB类库,Sql2XML类库,大家可以在 pea

使用PHP获取网络文件的实现代码_php技巧

复制代码 代码如下: <?php //设置我们将要使用的文件 $srcurl = "http://localhost/index.php"; $tempfilename = "tempindex.html"; $targetfilename = "index.html"; ?> <HTML> <HEAD> <TITLE> Generating <?php echo("$targetf