Look And Say 序列php实现代码


Posted in PHP onMay 22, 2011

比如:
第一个数字是: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

PHP 相关文章推荐
Discuz 5.0 中读取纯真IP数据库函数分析
Mar 16 PHP
php的access操作类
Apr 09 PHP
php 删除记录实现代码
Mar 12 PHP
PHP采集腾讯微博的实现代码
Jan 19 PHP
php 无法加载mysql的module的时候的配置的解决方案引发的思考
Jan 27 PHP
php类中private属性继承问题分析
Nov 01 PHP
php实现每天自动变换随机问候语的方法
May 12 PHP
thinkphp多层MVC用法分析
Dec 30 PHP
PHP模拟post提交数据方法汇总
Feb 16 PHP
php构造方法中析构方法在继承中的表现
Apr 12 PHP
PHP 接入支付宝即时到账功能
Sep 18 PHP
Laravel框架实现超简单的分页效果示例
Feb 08 PHP
php利用cookie实现访问次数统计代码
May 19 #PHP
PHP操作mysql函数详解,mysql和php交互函数
May 19 #PHP
php异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE  eval()'d code error
May 19 #PHP
php中全局变量global的使用演示代码
May 18 #PHP
一个PHP分页类的代码
May 18 #PHP
PHP sprintf()函数用例解析
May 18 #PHP
PHP 命令行参数详解及应用
May 18 #PHP
You might like
PHP设计模式之调解者模式的深入解析
2013/06/13 PHP
PHP基于imap获取邮件实例
2014/11/11 PHP
详解PHP的Yii框架中日志的相关配置及使用
2015/12/08 PHP
PHP中常用的数组操作方法笔记整理
2016/05/16 PHP
php插件Xajax使用方法详解
2017/08/31 PHP
JavaScript语法着色引擎(demo及打包文件下载)
2007/06/13 Javascript
jquery checkbox全选、取消全选实现代码
2010/03/05 Javascript
jquery封装的对话框简单实现
2013/07/21 Javascript
node.js中的path.basename方法使用说明
2014/12/09 Javascript
javascript实现全角与半角字符的转换
2015/01/07 Javascript
JS实现三个层重叠点击互相切换的方法
2015/10/06 Javascript
BootStrap Table 分页后重新搜索问题的解决办法
2016/08/08 Javascript
vue cli升级webapck4总结
2018/04/04 Javascript
iview Upload组件多个文件上传的示例代码
2018/09/30 Javascript
jquery实现联想词搜索框和搜索结果分页的示例
2018/10/10 jQuery
微信小程序实现签到功能
2018/10/31 Javascript
微信小程序提取公用函数到util.js及使用方法示例
2019/01/10 Javascript
javascript防抖函数debounce详解
2019/06/11 Javascript
原生JS实现汇率转换功能代码实例
2020/05/13 Javascript
浅谈JavaScript中你可能不知道URL构造函数的属性
2020/07/13 Javascript
vscode自定义vue模板的实现
2021/01/27 Vue.js
[44:30]完美世界DOTA2联赛PWL S2 GXR vs Magma 第一场 11.25
2020/11/26 DOTA
在树莓派2或树莓派B+上安装Python和OpenCV的教程
2015/03/30 Python
PYTHON压平嵌套列表的简单实现
2016/06/08 Python
Python基于Pymssql模块实现连接SQL Server数据库的方法详解
2017/07/20 Python
pip安装Python库时遇到的问题及解决方法
2017/11/23 Python
利用 python 对目录下的文件进行过滤删除
2017/12/27 Python
windows上安装python3教程以及环境变量配置详解
2019/07/18 Python
python中几种自动微分库解析
2019/08/29 Python
Python3获取cookie常用三种方案
2020/10/05 Python
如何基于Python按行合并两个txt
2020/11/03 Python
HTML5中input[type='date']自定义样式与日历校验功能的实现代码
2017/07/11 HTML / CSS
全球立体声:World Wide Stereo
2018/09/29 全球购物
remote接口和home接口主要作用
2013/05/15 面试题
护理专业毕业生自我鉴定
2013/10/08 职场文书
董存瑞观后感
2015/06/11 职场文书