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 相关文章推荐
第1次亲密接触PHP5(1)
Oct 09 PHP
一个简单的php实现的MySQL数据浏览器
Mar 11 PHP
php ss7.5的数据调用 (笔记)
Mar 08 PHP
php下将多个数组合并成一个数组的方法与实例代码
Feb 03 PHP
关于PHP中Object对象的笔记分享
Jun 28 PHP
屏蔽机器人从你的网站搜取email地址的php代码
Nov 14 PHP
Codeigniter出现错误提示Error with CACHE directory的解决方案
Jun 12 PHP
修改ThinkPHP缓存为Memcache的方法
Jun 25 PHP
PHP滚动日志的代码实现
Jun 10 PHP
SSO单点登录的PHP实现方法(Laravel框架)
Mar 23 PHP
php生成网页桌面快捷方式
May 05 PHP
PHP 超级全局变量相关总结
Jun 30 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
List the UTC Time on a Computer
2007/06/11 Javascript
js获取url参数值的两种方式
2013/09/10 Javascript
JS格式化数字金额用逗号隔开保留两位小数
2013/10/18 Javascript
jQuery列表拖动排列具体实现
2013/11/04 Javascript
jquery实现弹出窗口效果的实例代码
2013/11/28 Javascript
js 上下左右键控制焦点(示例代码)
2013/12/14 Javascript
ECMAScript6函数默认参数
2015/06/12 Javascript
BootStrap selectpicker
2016/06/20 Javascript
基于js粘贴事件paste简单解析以及遇到的坑
2017/09/07 Javascript
vue地址栏直接输入路由无效问题的解决
2018/11/15 Javascript
了解JavaScript函数中的默认参数
2019/05/30 Javascript
微信小程序webview与h5通过postMessage实现实时通讯的实现
2019/08/20 Javascript
vue实现带过渡效果的下拉菜单功能
2020/02/19 Javascript
小程序开发之模态框组件封装
2020/04/23 Javascript
vue 实现锚点功能操作
2020/08/10 Javascript
maptalks+three.js+vue webpack实现二维地图上贴三维模型操作
2020/08/10 Javascript
Javascript如何实现扩充基本类型
2020/08/26 Javascript
Python中的魔法方法深入理解
2014/07/09 Python
利用python获取某年中每个月的第一天和最后一天
2016/12/15 Python
Python使用Selenium+BeautifulSoup爬取淘宝搜索页
2018/02/24 Python
python获取指定字符串中重复模式最高的字符串方法
2018/06/29 Python
python简单验证码识别的实现方法
2019/05/10 Python
pytorch中获取模型input/output shape实例
2019/12/30 Python
PyTorch中Tensor的数据统计示例
2020/02/17 Python
python使用paramiko实现ssh的功能详解
2020/03/06 Python
jupyter lab文件导出/下载方式
2020/04/22 Python
使用openCV去除文字中乱入的线条实例
2020/06/02 Python
python图片合成的示例
2020/11/09 Python
支部鉴定材料
2014/06/02 职场文书
捐助感谢信
2015/01/22 职场文书
优秀团员自我评价
2015/03/10 职场文书
黑暗中的舞者观后感
2015/06/18 职场文书
2016春季小学开学寄语
2015/12/03 职场文书
[有人@你]你有一封绿色倡议书,请查收!
2019/07/18 职场文书
60句有关成长的名言
2019/09/04 职场文书
python使用torch随机初始化参数
2022/03/22 Python