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 相关文章推荐
PHP4在WinXP下IIS和Apache2服务器上的安装实例
Oct 09 PHP
php基础知识:控制结构
Dec 13 PHP
由php if 想到的些问题
Mar 22 PHP
php 清除网页病毒的方法
Dec 05 PHP
PHP 采集程序 常用函数
Dec 18 PHP
解析php中的escape函数
Jun 29 PHP
php获取字段名示例分享
Mar 03 PHP
PHP遍历数组的三种方法及效率对比分析
Feb 12 PHP
php实现指定字符串中查找子字符串的方法
Mar 17 PHP
php实现微信发红包
Dec 05 PHP
Laravel 批量更新多条数据的示例
Nov 27 PHP
laravel 中某一字段自增、自减的例子
Oct 11 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 Memcache 中实现消息队列
2009/11/24 PHP
用PHP解决的一个栈的面试题
2014/07/02 PHP
Yii使用find findAll查找出指定字段的实现方法
2014/09/05 PHP
smarty模板引擎之分配数据类型
2015/03/30 PHP
javascript 设为首页与加入收藏兼容多浏览器代码
2011/01/11 Javascript
fancybox modal的完美解决(右上的X)
2012/10/30 Javascript
div模拟滚动条效果示例代码
2013/10/16 Javascript
jquery 删除cookie失效的解决方法
2013/11/12 Javascript
javaScript array(数组)使用字符串作为数组下标的方法
2013/11/19 Javascript
JavaScript代码编写中各种各样的坑和填坑方法
2014/06/06 Javascript
javascript实现仿IE顶部的可关闭警告条
2015/05/05 Javascript
jquery代码实现多选、不同分享功能
2015/07/31 Javascript
javascript从作用域链谈闭包
2020/07/29 Javascript
ES6正则的扩展实例详解
2017/04/25 Javascript
微信小程序slider组件使用详解
2018/01/31 Javascript
nodejs express配置自签名https服务器的方法
2018/05/22 NodeJs
vue父组件触发事件改变子组件的值的方法实例详解
2019/05/07 Javascript
[38:23]完美世界DOTA2联赛循环赛 FTD vs PXG BO2第二场 11.01
2020/11/02 DOTA
在Python的Django框架中实现Hacker News的一些功能
2015/04/17 Python
python登录pop3邮件服务器接收邮件的方法
2015/04/30 Python
Python的Flask框架中使用Flask-SQLAlchemy管理数据库的教程
2016/06/14 Python
python获取多线程及子线程的返回值
2017/11/15 Python
详解Django-auth-ldap 配置方法
2018/12/10 Python
python实现根据文件关键字进行切分为多个文件的示例
2018/12/10 Python
pyinstaller打包单个exe后无法执行错误的解决方法
2019/06/21 Python
python3.6、opencv安装环境搭建过程(图文教程)
2019/11/05 Python
Python小白不正确的使用类变量实例
2020/05/29 Python
德国baby-markt婴儿用品瑞士网站:baby-markt.ch
2017/06/09 全球购物
公证委托书大全
2014/04/04 职场文书
学校党的群众路线教育实践活动对照检查材料
2014/09/24 职场文书
学校党委干部个人对照检查材料思想汇报
2014/10/09 职场文书
神秘岛读书笔记
2015/07/01 职场文书
Redis遍历所有key的两个命令(KEYS 和 SCAN)
2021/04/12 Redis
关于PostgreSQL JSONB的匹配和交集问题
2021/09/14 PostgreSQL
MySQL数据库⾼可⽤HA实现小结
2022/01/22 MySQL
Windows Server 2012 R2服务器安装与配置的完整步骤
2022/07/15 Servers