Look And Say 序列php实现代码
作者:bea
比如: 第一个数字是: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实现这个序列,如下: 代码如下: func
比如:
第一个数字是: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
有用 | 无用
第一个数字是: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文件上传原理简单分析
- php修改时间格式的代码
- PHP第一季视频教程(李炎恢+php100 不断更新)
- PHP获取文件绝对路径的代码(上一级目录)
- php学习之变量的使用
- php学习之数据类型之间的转换代码
- jQuery 源码分析笔记
- PHP显示今天、今月、上月、今年的起点/终点时间戳的代码
- JS 网站性能优化笔记
- PHP文件打开、关闭、写入的判断与执行代码
- php Rename 更改文件、文件夹名称
- php fputcsv命令 写csv文件遇到的小问题(多维数组连接符)
- php 定界符格式引起的错误
- php file_put_contents()功能函数(集成了fopen、fwrite、fclose)
- mac下使用brew配置环境的步骤分享
- PHP取得一个类的属性和方法的实现代码
- 五款常用mysql slow log分析工具的比较分析
- php性能优化分析工具XDebug 大型网站调试工具