PHP几个算法、PHP冒泡、PHP二分法、PHP求素数、PHP乘法表

本文深入解析PHP中四种经典算法——冒泡排序、二分查找、求素数及输出乘法表的实现,通过具体示例展示每种算法的原理及应用。
PHP几个算法整理 涉及到以下几个示例。
PHP冒泡
PHP二分法
PHP求素数
PHP乘法表

PHP冒泡法 示例

//PHP冒泡  从小到大
function maopao(&$arr)
{
  if(!empty($arr))
  {
    for($i=0;$i<count($arr);$i++)
      {
        if($arr[$i]>$arr[$j])
        {
          //开始交换
          $temp = $arr[$i];
          $arr[$i] = $arr[$j];
          $arr[$j] = $temp;
        }
      }
    }
    return $arr;
  }
}

php二分法查找 代码示例

//二分法查找
function erfenfa($a,$arr)
{
  print_r($arr);
  if(!empty($a)  &&  !empty($arr))
  {
    $start = 0;
    $end = count($arr)-1;
    $i = 0;
    while($start <= $end)     {
                        $i ++;
                        $step = floor($end / 2);
                       if($a == $arr[$step])
                       {
                        print_r($arr[$step]);
                     return $a;
                     }
                     if($a >$arr[$step])
      {
        $start = $step;
      }

      if($a &lt; $arr[$step])
      {
        $end = $step;
      }
    }
  }
}

php求素数 – 计算 a 到 b 之间的素数。 代码示例

//php求素数  - 计算 a 到 b 之间的素数。
function sushu($a,$b)
{
  if(!empty($a) && !empty($b))
  {
    if($b<$a) return;
    $temp = array();

    for($i=$a;$i <=$b;$i++)
    {
      $j = intval(sqrt($i));
      $flag = true;
      if($i&lt;=3)
      {
        $temp[$i] = $i;
      }else
      {
        for($x=2;$x<=$j;$x++)
        {
          if($i%$x==0)
          {
            $flag = false;
            break;
          }
        }
        if($flag)
        {
          $temp[$i] = $i;
        }
      }
    }
    return $temp;
  }
}

PHP输出乘法表-递归 代码示例

//PHP输出乘法表-递归
function digui($a,$step)
{
  if($a >$step) return;
  if( !empty($a) &&  !empty($step) )
  {
    for($i=1;$i<=$a;$i++)
    {
      echo $i.’*’.$a.’=’.$a*$i.”\t”;
      if($i == $a )  echo ‘
‘;
    }
    $a = $a + 1;
    digui($a,$step);
  }
}

PHP输出乘法表-循环 代码示例

//PHP输出乘法表-循环
function chengfa($a,$step)
{
  if( !empty($a) && !empty($step) )
  {
    for($i=$a;$i<=$step;$i++)
    {
      for($j=1;$j<=$i;$j++)
      {
        echo $j.’*’.$i.’=’.$i*$j.”\t”;
        if($i==$j) echo ‘
‘;
      }
    }
  }
}

请提供几个符合以下范围的蓝桥杯STEMA试题 • 基本概念与结构:程序设计语言以及程序编译和运行的基本概念,头文件、命名空间、主函数;• 数据类型与变量:整型(int,long long)、布尔型(bool)、字符型(char)、实型(float,double)、变量和常量的定义与使用、基本数据类型转换;• 运算:赋值运算、算术运算、逻辑运算、关系运算、位运算;• 控制结构:顺序结构、分支结构、循环结构、流程图;• 数组:一维数组、二维数组及多维数组;• 字符与字符串:字符数组、字符串类、字符串常用函数及 ASCII 编码;• 指针:定义及使用;• 函数:定义和使用,变量的作用域,常用的库函数;• 结构体:结构体的定义、存储,结构体数组的定义、存储、遍历等;• 类与对象:定义和使用,构造函数,析构函数;• 进制及进制转换;• 初等数论:整除、因数、倍数、指数、质 ( 素 ) 数、合数等概念,判断质数、合数、约数方法,辗转相除法(欧几里得算法最大公约数,埃氏筛与线性筛筛质数,同余定理、加乘原理、排列组合;• 算法:o 入门算法:枚举法、模拟法;o 排序算法冒泡排序、选择排序、插入排序、计数排序;o 基础算法:贪心法、递推法、递归法、二分法;o 数值处理算法:高精度加法、高精度减法、高精度乘法、高精度除法;o 搜索算法:深度优先算法、广度优先算法;o 动态规划:一维动态规划、背包类型动态规划;o (通常仅限中高级考试)动态规划:区间类型动态规划、树型动态规划;• 数据结构:o 线性数据结构:单链表、双向链表、循环链表、栈、队列;o 树:二叉树、完全二叉树、满二叉树、哈夫曼树、二叉搜索树;o STL:vector、list、stack、queue、set、map 以及常用函数;o (通常仅限中高级考试)图:邻接矩阵、邻接表、深度优先遍历、广度优先遍历、泛洪算法
最新发布
03-10
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值