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下过滤html代码的函数 提高程序安全性
Mar 02 PHP
PHP设计模式之代理模式的深入解析
Jun 13 PHP
一个简单的php加密解密函数(动态加密)
Jun 19 PHP
discuz加密解密函数使用方法和中文注释
Jan 21 PHP
PHP高手需要要掌握的知识点
Aug 21 PHP
windows下配置php5.5开发环境及开发扩展
Dec 25 PHP
php下pdo的mysql事务处理用法实例
Dec 27 PHP
WordPress主题制作之模板文件的引入方法
Dec 28 PHP
php+ajax实现带进度条的上传图片功能【附demo源码下载】
Sep 14 PHP
PHP simplexml_load_string()函数实例讲解
Feb 03 PHP
laravel5.5安装jwt-auth 生成token令牌的示例
Oct 24 PHP
PHP基于ip2long实现IP转换整形
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
360通用php防护代码(使用操作详解)
2013/06/18 PHP
PHP使用Curl实现模拟登录及抓取数据功能示例
2018/04/27 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
JavaScript 仿关机效果的图片层
2008/12/26 Javascript
js表数据排序 sort table data
2009/02/18 Javascript
锋利的jQuery 要点归纳(一) jQuery选择器
2010/03/21 Javascript
jquery 单击li防止重复加载的实现代码
2010/12/24 Javascript
js写一个弹出层并锁屏效果实现代码
2012/12/07 Javascript
javascript间隔刷新的简单实例
2013/11/14 Javascript
js中运算符&amp;&amp; 和 || 的使用记录
2014/08/21 Javascript
Node.js的特点和应用场景介绍
2014/11/04 Javascript
jQuery实现checkbox全选的方法
2015/06/10 Javascript
JQuery点击行tr实现checkBox选中的简单实例
2016/05/26 Javascript
Bootstrap实现圆角、圆形头像和响应式图片
2016/12/14 Javascript
详解NODEJS的http实现
2018/01/04 NodeJs
Node.js的Koa实现JWT用户认证方法
2018/05/05 Javascript
JavaScript DOM元素常见操作详解【添加、删除、修改等】
2018/05/09 Javascript
vue将毫秒数转化为正常日期格式的实例
2018/09/16 Javascript
vue使用require.context实现动态注册路由
2020/12/25 Vue.js
[52:44]VGJ.T vs infamous Supermajor小组赛D组败者组第一轮 BO3 第一场 6.3
2018/06/04 DOTA
用Python进行TCP网络编程的教程
2015/04/29 Python
python通过加号运算符操作列表的方法
2015/07/28 Python
python里使用正则的findall函数的实例详解
2017/10/19 Python
http请求 request失败自动重新尝试代码示例
2018/01/25 Python
Python实现的文本对比报告生成工具示例
2018/05/22 Python
python操作kafka实践的示例代码
2019/06/19 Python
对于Python深浅拷贝的理解
2019/07/29 Python
python绘制动态曲线教程
2020/02/24 Python
Pycharm连接gitlab实现过程图解
2020/09/01 Python
html2canvas生成清晰的图片实现打印的示例代码
2019/09/30 HTML / CSS
支教自我鉴定
2014/01/18 职场文书
大学生创业策划书
2014/02/02 职场文书
捐书倡议书
2014/08/29 职场文书
2015高考寄语集锦
2015/02/27 职场文书
蔬果开业典礼发言稿应该怎么写?
2019/09/03 职场文书
php 解析非标准json、非规范json
2021/04/01 PHP