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 相关文章推荐
一个简单计数器的源代码
Oct 09 PHP
PHP新手上路(四)
Oct 09 PHP
php批量缩放图片的代码[ini参数控制]
Feb 11 PHP
CodeIgniter中使用Smarty3基本配置
Jun 29 PHP
PHP面向对象学习之parent::关键字
Jan 18 PHP
php对xml文件的增删改查操作实现方法分析
May 19 PHP
php 猴子摘桃的算法
Jun 20 PHP
php实现微信支付之现金红包
May 30 PHP
PHP5.0 TIDY_PARSE_FILE缓冲区溢出漏洞的解决方案
Oct 14 PHP
laravel实现于语言包的完美切换方法
Sep 29 PHP
yii框架结合charjs实现统计30天数据的方法
Apr 04 PHP
PHP 扩展Memcached命令用法实例总结
Jun 04 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 字符串正则替换函数preg_replace使用说明
2011/07/15 PHP
Nginx下配置codeigniter框架方法
2015/04/07 PHP
ThinkPHP在Cli模式下使用模板引擎的方法
2015/09/25 PHP
PHP中in_array的隐式转换的解决方法
2018/03/06 PHP
php中输出json对象的值(实现方法)
2018/03/07 PHP
thinkphp集成前端脚手架Vue-cli的教程图解
2018/08/30 PHP
js 方法实现返回多个数据的代码
2009/04/30 Javascript
js 实现打印网页中定义的部分内容的代码
2010/04/01 Javascript
node.js开发中使用Node Supervisor实现监测文件修改并自动重启应用
2014/11/04 Javascript
使用jQuery简单实现模拟浏览器搜索功能
2014/12/21 Javascript
JavaScript奇技淫巧44招【实用】
2016/12/11 Javascript
Angular2使用jQuery的方法教程
2017/05/28 jQuery
Vue项目webpack打包部署到服务器的实例详解
2017/07/17 Javascript
详解使用Visual Studio Code对Node.js进行断点调试
2017/09/14 Javascript
vue复合组件实现注册表单功能
2017/11/06 Javascript
JavaScript 数组去重并统计重复元素出现的次数实例
2017/12/14 Javascript
详解Vue项目中实现锚点定位
2019/04/24 Javascript
javascript canvas封装动态时钟
2020/09/30 Javascript
[48:52]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第一局
2016/02/25 DOTA
Python中表达式x += y和x = x+y 的区别详解
2017/06/20 Python
浅谈python中的占位符
2017/11/09 Python
python3.5 tkinter实现页面跳转
2018/01/30 Python
python3连接MySQL数据库实例详解
2018/05/24 Python
python实现自动解数独小程序
2019/01/21 Python
Python Multiprocessing多进程 使用tqdm显示进度条的实现
2019/08/13 Python
TensorFLow 变量命名空间实例
2020/02/11 Python
大韩航空官方网站:Korean Air
2017/10/25 全球购物
怎样从/向数据文件读/写结构
2014/11/23 面试题
Can a struct inherit from another class? (结构体能继承类吗)
2014/07/22 面试题
大堂副理的岗位职责范文
2014/02/17 职场文书
2014年五四青年节演讲比赛方案
2014/04/22 职场文书
法院授权委托书格式
2014/09/28 职场文书
主持人开幕词
2015/01/29 职场文书
地道战观后感2000字
2015/06/04 职场文书
python使用XPath解析数据爬取起点小说网数据
2021/04/22 Python
游戏《东方异文石:爱亚利亚黎明》正式版发布
2022/04/03 其他游戏