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 相关文章推荐
扩展你的 PHP 之入门篇
Dec 04 PHP
phpMyAdmin 链接表的附加功能尚未激活的问题
Aug 01 PHP
微信扫描二维码登录网站代码示例
Dec 30 PHP
PHP伪静态Rewrite设置之APACHE篇
Jul 30 PHP
PHP实现的简单mock json脚本分享
Feb 10 PHP
php中实现获取随机数组列表的自定义函数
Apr 02 PHP
weiphp微信公众平台授权设置
Jan 04 PHP
Joomla开启SEF的方法
May 04 PHP
php版微信小店调用api示例代码
Nov 12 PHP
Yii2框架视图(View)操作及Layout的使用方法分析
May 27 PHP
PHP使用HTML5 FormData对象提交表单操作示例
Jul 02 PHP
tp5.1 框架查询表达式用法详解
May 25 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/11/12 PHP
Drupal7中常用的数据库操作实例
2014/03/02 PHP
mac下多个php版本快速切换的方法
2016/10/09 PHP
PHP基于SPL实现的迭代器模式示例
2018/04/22 PHP
JavaScript 设计模式学习 Singleton
2009/07/27 Javascript
jQuery 的全选(全非选)即取得被选中的值使用介绍
2013/11/12 Javascript
举例讲解AngularJS中的模块
2015/06/17 Javascript
JavaScript给input的value赋值引发的关于基本类型值和引用类型值问题
2015/12/07 Javascript
改变checkbox默认选中状态及取值的实现代码
2016/05/26 Javascript
简单实现js间歇或无缝滚动效果
2016/06/29 Javascript
Angular.js基础学习之初始化
2017/03/10 Javascript
Vue项目中使用better-scroll实现一个轮播图自动播放功能
2018/12/03 Javascript
详解基于node.js的脚手架工具开发经历
2019/01/28 Javascript
jQuery实现动态生成年月日级联下拉列表示例
2019/05/11 jQuery
详解vue微信网页授权最终解决方案
2019/06/16 Javascript
swiper4实现移动端导航切换
2020/10/16 Javascript
[53:38]OG vs LGD 2018国际邀请赛淘汰赛BO3 第三场 8.26
2018/08/30 DOTA
python list是否包含另一个list所有元素的实例
2018/05/04 Python
解决python3 网络请求路径包含中文的问题
2018/05/10 Python
PyCharm代码整体缩进,反向缩进的方法
2018/06/25 Python
Django处理多用户类型的方法介绍
2019/05/18 Python
Python实现使用request模块下载图片demo示例
2019/05/24 Python
Python包,__init__.py功能与用法分析
2020/01/07 Python
python isinstance函数用法详解
2020/02/13 Python
Python flask框架如何显示图像到web页面
2020/06/03 Python
墨西哥皇宫度假村预订:Palace Resorts
2018/06/16 全球购物
美国农场商店:Blain’s Farm & Fleet
2020/01/17 全球购物
土地租赁意向书
2014/07/30 职场文书
网络工程专业大学生求职信
2014/10/01 职场文书
刑事附带民事起诉状
2015/05/19 职场文书
故意伤害罪辩护词
2015/05/21 职场文书
治庸问责工作总结
2015/08/11 职场文书
电力安全教育培训心得体会
2016/01/11 职场文书
《海上日出》教学反思
2016/02/23 职场文书
设置IIS Express并发数
2022/07/07 Servers
WIN10使用IIS部署ftp服务器详细教程
2022/08/05 Servers