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类
Nov 27 PHP
php中将指针移动到数据集初始位置的实现代码[mysql_data_seek]
Nov 01 PHP
浅析php fwrite写入txt文件的时候用 \r\n不能换行的问题
Aug 06 PHP
php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
Apr 05 PHP
Yii配置文件用法详解
Dec 04 PHP
PHP中的traits实现代码复用使用实例
May 13 PHP
Zend Framework教程之Zend_Layout布局助手详解
Mar 04 PHP
Yii2前后台分离及migrate使用(七)
May 04 PHP
php版微信小店API二次开发及使用示例
Nov 12 PHP
php中通过eval实现字符串格式的计算公式
Mar 18 PHP
laravel如何开启跨域功能示例详解
Aug 31 PHP
php的无刷新操作实现方法分析
Feb 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使用mb_check_encoding检查字符串在指定的编码里是否有效
2013/11/07 PHP
javascript数组与php数组的地址传递及值传递用法实例
2015/01/22 PHP
Yii获取当前url和域名的方法
2015/06/08 PHP
php中动态变量用法实例
2015/06/10 PHP
详解WordPress中分类函数wp_list_categories的使用
2016/01/04 PHP
详解Yii2 定制表单输入字段的标签和样式
2017/01/04 PHP
详解PHP版本兼容之openssl调用参数
2018/07/25 PHP
解决Laravel5.2 Auth认证退出失效的问题
2019/10/14 PHP
Laravel实现批量更新多条数据
2020/04/06 PHP
点击广告后才能获得下载地址
2006/10/26 Javascript
用js实现table单元格高宽调整,兼容合并单元格(兼容IE6、7、8、FF)实例
2013/06/25 Javascript
Javascript遍历table中的元素示例代码
2014/07/08 Javascript
jquery仿百度经验滑动切换浏览效果
2015/04/14 Javascript
全面解析jQuery $(document).ready()和JavaScript onload事件
2016/06/08 Javascript
jQuery实现的可编辑表格完整实例
2016/06/20 Javascript
jQuery实现点击行选中或取消CheckBox的方法
2016/08/01 Javascript
Vue.js学习笔记之 helloworld
2016/08/14 Javascript
分分钟玩转Vue.js组件
2016/10/25 Javascript
JS如何判断浏览器类型和详细区分IE各版本浏览器
2017/03/04 Javascript
jQuery实现文本显示一段时间后隐藏的方法分析
2019/06/20 jQuery
python调用java的Webservice示例
2014/03/10 Python
对python实时得到鼠标位置的示例讲解
2018/10/14 Python
基于Python获取城市近7天天气预报
2019/11/26 Python
jupyter修改文件名方式(TensorFlow)
2020/04/21 Python
手机端用rem+scss做适配的详解
2017/11/15 HTML / CSS
美国休闲服装品牌:Express
2016/09/24 全球购物
Street One瑞士:德国现代时装公司
2019/10/09 全球购物
Java的for语句中break, continue和return的区别
2013/12/19 面试题
党的群众路线教育实践活动对照检查材料(教师)
2014/09/24 职场文书
2015国际残疾人日活动总结
2015/03/24 职场文书
学校学习型党组织建设心得体会
2019/06/21 职场文书
创业计划书之宠物店
2019/09/19 职场文书
导游词之广州陈家祠
2019/10/21 职场文书
Jupyter Notebook内使用argparse报错的解决方案
2021/06/03 Python
vite+vue3.0+ts+element-plus快速搭建项目的实现
2021/06/24 Vue.js
MySQL常见优化方案汇总
2022/01/18 MySQL