PHP面试时经常出现的小算法题
2014-12-14 00:00
288 查看
<?php
//打印一个三角形
for($i=0;$i<=3;$i++)
{
for($j=0;$j<=3-$i;$j++){
echo ‘ ’;
}
for($k=0;$k<=2*$i;$k++)
{
echo “*”;
}
echo ‘’;
}
?>
< ?php
//杨辉三角
for($i=0;$i<6;$i++)
{
//第一个和最后一个都为1
$a[$i][0]=1;
$a[$i][$i]=1;
}
for($i=2;$i<6;$i++){
for($j=1;$j<$i;$j++)
{
$a[$i][$j]=$a[$i-1][$i-1]+$a[$i-1][$j];
}
}
for($i=0;$i<6;$i++)
{
for($j=0;$j<=$i;$j++){
echo $a[$i][$j].’ ’;
}
echo ‘’;
}
?>
< ?php
//合并多个数组
function t(){
$c=func_num_args()-1;//返回传递给函数的参数个数
$a=func_get_args();//返回一个数组,包括函数的参数列表
for($i=0;$i<=$c;$i++){
if(is_array($a[$i])){
for($j=0;$j<count($a[$i]);$j++){
$r[]=$a[$i][$j];
}
}else{
die(‘Not a array’);
}
}
return $r;
}
print_r(t(range(1,4),range(1,4),range(1,4)));
?>
< ?php
//求牛
function cow($num,$y)
{
for($j=1;$j<$y;$j++)
{
if($j>=4 && $j<15)
{
$num++;
cow($num,$y-$j);
}
if($j==20)
$num–;
}
return $num;
}
echo cow(2,2);
?>
< ?php
//顺序查找(数组里查找某个元素)
function seq_sch($array,$n,$k)//在某个位置之前查找某元素(不包括指定位置)
{
$array[$n]=$k;
for($i=0;$i<$n;$i++)
{
if($array[$i]==$k)
break;
}
if($i<$n)
return $i;
else
return -1;
}
$array=array(‘a’,'b’,'c’);
echo seq_sch($array,2,’b');
?>
< ?php
function show($i)
{
if($i==1)
return 1;
else
return $i*show($i-1);
}
echo “”;
echo show(3);
?>
< ?php
//裴波那挈数列
function b($n)
{
if($n<2)
return $n;
else
return b($n-1)+show($n-2);
}
echo b(2);
?>
//打印一个三角形
for($i=0;$i<=3;$i++)
{
for($j=0;$j<=3-$i;$j++){
echo ‘ ’;
}
for($k=0;$k<=2*$i;$k++)
{
echo “*”;
}
echo ‘’;
}
?>
< ?php
//杨辉三角
for($i=0;$i<6;$i++)
{
//第一个和最后一个都为1
$a[$i][0]=1;
$a[$i][$i]=1;
}
for($i=2;$i<6;$i++){
for($j=1;$j<$i;$j++)
{
$a[$i][$j]=$a[$i-1][$i-1]+$a[$i-1][$j];
}
}
for($i=0;$i<6;$i++)
{
for($j=0;$j<=$i;$j++){
echo $a[$i][$j].’ ’;
}
echo ‘’;
}
?>
< ?php
//合并多个数组
function t(){
$c=func_num_args()-1;//返回传递给函数的参数个数
$a=func_get_args();//返回一个数组,包括函数的参数列表
for($i=0;$i<=$c;$i++){
if(is_array($a[$i])){
for($j=0;$j<count($a[$i]);$j++){
$r[]=$a[$i][$j];
}
}else{
die(‘Not a array’);
}
}
return $r;
}
print_r(t(range(1,4),range(1,4),range(1,4)));
?>
< ?php
//求牛
function cow($num,$y)
{
for($j=1;$j<$y;$j++)
{
if($j>=4 && $j<15)
{
$num++;
cow($num,$y-$j);
}
if($j==20)
$num–;
}
return $num;
}
echo cow(2,2);
?>
< ?php
//顺序查找(数组里查找某个元素)
function seq_sch($array,$n,$k)//在某个位置之前查找某元素(不包括指定位置)
{
$array[$n]=$k;
for($i=0;$i<$n;$i++)
{
if($array[$i]==$k)
break;
}
if($i<$n)
return $i;
else
return -1;
}
$array=array(‘a’,'b’,'c’);
echo seq_sch($array,2,’b');
?>
< ?php
function show($i)
{
if($i==1)
return 1;
else
return $i*show($i-1);
}
echo “”;
echo show(3);
?>
< ?php
//裴波那挈数列
function b($n)
{
if($n<2)
return $n;
else
return b($n-1)+show($n-2);
}
echo b(2);
?>
相关文章推荐
- PHP面试时经常出现的小算法题
- 一些Java面试中经常出现的算法题
- 面试中经常出现的算法
- 面试中经常出现的算法2(整理)
- 面试中经常出现的算法1
- 算法面试经常出现的问题——扑克牌中顺子和同花哪一个概率大?
- 面试中经常出现的算法
- 面试中经常出现的算法
- 面试中经常出现的算法1(整理)
- 面试中经常出现的算法
- PHP面试时会考到的算法题之排序
- php面试常用算法
- java面试中经常会被问到的一些算法的问题
- ArrayList VS Vector(ArrayList和Vector的区别)_面试的时候经常出现
- Java面试中经常问到的算法题
- php面试算法题—快速算法、冒泡算法讲解
- PHP程序员面试中经常被提问的问题
- 微软等数据结构+算法面试100题(23)--数组中超过出现次数超过一半的数字
- Java面试中经常问到的算法题 - - JavaEye技术网站 (转载)
- PHP和MySQL数据库经常出现的安全问题及其预防