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 相关文章推荐
使用XDebug调试及单元测试覆盖率分析
Jan 27 PHP
PHP详解ASCII码对照表与字符转换
Dec 05 PHP
php curl常见错误:SSL错误、bool(false)
Dec 28 PHP
PHP使用range协议实现输出文件断点续传代码实例
Jul 04 PHP
php准确获取文件MIME类型的方法
Jun 17 PHP
php类的定义与继承用法实例
Jul 07 PHP
PHP MVC框架skymvc支持多文件上传
May 26 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
Nov 15 PHP
[原创]PHP获取数组表示的路径方法分析【数组转字符串】
Sep 01 PHP
thinkPHP框架RBAC实现原理分析
Feb 01 PHP
laravel 解决paginate查询多个字段报错的问题
Oct 22 PHP
PHP超级全局变量【$GLOBALS,$_SERVER,$_REQUEST等】用法实例分析
Dec 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
动漫定律:眯眯眼都是怪物!这些角色狠话不多~
2020/03/03 日漫
星际争霸任务指南——虫族
2020/03/04 星际争霸
shopex主机报错误请求解决方案(No such file or directory)
2011/12/27 PHP
PHP中SESSION使用中的一点经验总结
2012/03/30 PHP
基于jquery的无刷新分页技术
2011/06/11 Javascript
open 动态修改img的onclick事件示例代码
2013/11/13 Javascript
node.js中的console.log方法使用说明
2014/12/09 Javascript
jQuery中DOM树操作之使用反向插入方法实例分析
2015/01/23 Javascript
BOOTSTRAP时间控件显示在模态框下面的bug修复
2015/02/05 Javascript
jQuery实现的个性化返回底部与返回顶部特效代码
2015/10/30 Javascript
Js获取图片原始宽高的实现代码
2016/05/17 Javascript
聊一聊jQuery插件uploadify使用方法
2016/08/24 Javascript
Nodejs 发送Post请求功能(发短信验证码例子)
2017/02/09 NodeJs
详谈Angular 2+ 的表单(一)之模板驱动型表单
2017/04/25 Javascript
详解vue-cli 构建Vue项目遇到的坑
2017/08/30 Javascript
利用Javascript开发一个二维周视图日历
2017/12/14 Javascript
关于element-ui的隐藏组件el-scrollbar的使用
2019/05/29 Javascript
JavaScript实现打砖块游戏
2020/02/25 Javascript
如何在Python函数执行前后增加额外的行为
2016/10/20 Python
详解Python 数据库 (sqlite3)应用
2016/12/07 Python
python3实现windows下同名进程监控
2018/06/21 Python
python 实现将txt文件多行合并为一行并将中间的空格去掉方法
2018/12/20 Python
python+django+selenium搭建简易自动化测试
2020/08/19 Python
webView加载html图片遇到的问题解决
2019/10/08 HTML / CSS
Hunter Boots美国官方网站:赫特威灵顿雨靴
2018/06/16 全球购物
PHP如何调用MYSQL存储过程
2014/05/30 面试题
.net软件工程师面试题
2015/03/31 面试题
如何写你的创业计划书
2014/01/07 职场文书
生日寿宴答谢词
2014/01/19 职场文书
会计专业个人自我鉴定
2014/03/21 职场文书
团队经理竞聘书
2014/03/31 职场文书
张丽莉观后感
2015/06/16 职场文书
SQL Server数据定义——模式与基本表操作
2021/04/05 SQL Server
Win11 S Mode版本泄露 正式上线后叫做Windows 11 SE
2021/11/21 数码科技
MySQL 条件查询的常用操作
2022/04/28 MySQL
SQL Server中使用表变量和临时表
2022/05/20 SQL Server