LookAndSay序列php实现代码
2023-06-13 09:14:28 时间
比如:
第一个数字是: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实现这个序列,如下:
复制代码代码如下:
第一个数字是: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实现这个序列,如下:
functionlook($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 中js跳转页面跳转页面,js跳转代码_PHP页面跳转 Js页面跳转代码[通俗易懂]
- PHP spl_autoload_register()与__autoload():自动加载机制
- MySQL与PHP的基础与应用专题之数据查询语句
- MySQL指令的灵活执行:PHP的强大助力(php执行mysql)
- MySQL事务处理流程及PHP实现(mysql事务php)
- 器使用Linux快速启动PHP服务器(linux启动php服务)
- 一步步获取 PHP 导入 MySQL 无忧(php导入mysql)
- PHP操作MySQL精彩呈现(php调用mysql)
- 用Redis和PHP完成高效抢红包功能(redis抢红包php)
- PHP快速获取MySQL数据库信息(php获取mysql信息)
- PHP MySQL 时间的应用在 Web 开发中的重要性分析(phpmysql时间)
- Linux系统如何实现PHP开机自启动?(linux开机启动php)
- PHP驱动的Redis实现高效存储(phpredis)
- 安装Linux实现一键安装PHP环境(linux一键php)
- 使用PHP连接MSSQL数据库的实例示范(php连接mssql例子)
- 用PHP给MySQL数据库做个彻底的备份(php备份mysql数据库)
- 基于PHP的Redis队列监控实践(redis队列监控php)
- 创建数据库php代码用PHP写出自己的BLOG系统
- 让的PHP代码飞起来的40条小技巧(提升php效率)
- PHP安全技术之实现php基本安全
- PHP和Mysqlweb应用开发核心技术第1部分Php基础-1开始了解php
- php入门学习知识点六PHP文件的读写操作代码
- php数组函数序列之each()-获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位
- php管理nginx虚拟主机shell脚本实例
- php进行支付宝开发中return_url和notify_url的区别分析