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随机生成福彩双色球号码的2种方法
Feb 04 PHP
CI框架开发新浪微博登录接口源码完整版
May 28 PHP
php结合安卓客户端实现查询交互实例
May 05 PHP
php操作redis缓存方法分享
Jun 03 PHP
PHP人民币金额转大写实例代码
Oct 02 PHP
WordPress主题制作之模板文件的引入方法
Dec 28 PHP
PHP简单判断iPhone、iPad、Android及PC设备的方法
Oct 11 PHP
PHP实现git部署的方法教程
Dec 19 PHP
thinkphp诸多限制条件下如何getshell详解
Dec 09 PHP
详解thinkphp的Auth类认证
May 28 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全角字符转换为半角函数
2014/02/07 PHP
php实现俄罗斯乘法实例
2015/03/07 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
被jQuery折腾得半死,揭秘为何jQuery为何在IE/Firefox下均无法使用
2010/01/22 Javascript
jQuery Study Notes学习笔记 (二)
2010/08/04 Javascript
jquery ajax传递中文参数乱码问题及解决方法说明
2014/02/07 Javascript
Javascript排序算法之计数排序的实例
2014/04/05 Javascript
推荐5 个常用的JavaScript调试技巧
2015/01/08 Javascript
jquery实现点击其他区域时隐藏下拉div和遮罩层的方法
2015/12/23 Javascript
JavaScript动态设置div的样式的方法
2015/12/26 Javascript
AngularJS指令详解及示例代码
2016/08/16 Javascript
详解vue与后端数据交互(ajax):vue-resource
2017/03/16 Javascript
nodejs实现邮件发送服务实例分享
2017/03/29 NodeJs
Vue2 SSR渲染根据不同页面修改 meta
2017/11/20 Javascript
vue2.0在没有dev-server.js下的本地数据配置方法
2018/02/23 Javascript
iview在vue-cli3如何按需加载的方法
2018/10/31 Javascript
Echarts实现多条折线可拖拽效果
2019/12/19 Javascript
解决vue+elementui项目打包后样式变化问题
2020/08/03 Javascript
Python实现的简单万年历例子分享
2014/04/25 Python
浅谈python中的面向对象和类的基本语法
2016/06/13 Python
Python数据结构之翻转链表
2017/02/25 Python
Python爬虫抓取代理IP并检验可用性的实例
2018/05/07 Python
使用NumPy和pandas对CSV文件进行写操作的实例
2018/06/14 Python
使用pandas读取文件的实现
2019/07/31 Python
pyspark 随机森林的实现
2020/04/24 Python
Python叠加矩形框图层2种方法及效果
2020/06/18 Python
Python文件名匹配与文件复制的实现
2020/12/11 Python
师范生自我鉴定范文
2013/10/05 职场文书
上班打牌检讨书
2014/02/07 职场文书
幼儿园优秀教师事迹
2014/02/13 职场文书
最新优秀教师个人先进事迹材料
2014/05/06 职场文书
群众路线个人剖析材料及整改措施
2014/11/04 职场文书
《风不能把阳光打败》读后感3篇
2020/01/06 职场文书
《游戏王:大师决斗》将推出新卡牌包4月4日上线
2022/03/31 其他游戏
golang定时器
2022/04/14 Golang