Look and Say 数列
看着第一行(1), 说:1个1, 那么, 第二行就是11, 看着第二行(11), 说:2个1, 那么, 第三行就是21 ......br /
看着第一行(1), 说:1个1, 那么, 第二行就是11, 看着第二行(11), 说:2个1, 那么, 第三行就是21 ......
<?php
/*
* Look and Say 数列
* Line01: 1
* Line02: 11
* Line03: 21
* Line04: 1211
* Line05: 111221
* Line06: 312211
* Line07: 13112221
* Line08: 1113213211
*/
for($i=1; $i<10; $i++)
{
if($i == 1)
{
$str = '1';
}
else
{
$count = strlen($str);
for($j=0, $t = 1, $new_str = ''; $j<$count; $j++)
{
if( isset($str[$j+1]) && $str[$j] == $str[$j+1] )
{
$t++;
}
else
{
$new_str .= $t.$str[$j];
$t = 1;
}
}
$str = $new_str;
}
$array[] = $str;
}
echo '<pre>';
print_r($array);
/*
@_@ @_@ @_@
Result:
Array
(
[0] => 1
[1] => 11
[2] => 21
[3] => 1211
[4] => 111221
[5] => 312211
[6] => 13112221
[7] => 1113213211
[8] => 31131211131221
)
*/
- 上一篇:分页实现
- 下一篇:PHP编写网页BS结构计算器
精彩图集
精彩文章






