栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP

PHP常见几道算法题目解析

PHP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PHP常见几道算法题目解析

第一题:
$a = '&&29&&&&&yy3&&';
$s = '&&';
function strToArr($a,$s){
	$n = strlen($s);
	$j = 0;
	$data = array();
	for($i=0;$i';
echo '字符串1:'.$a;
echo '分割符:'.$s;
var_dump(strToArr($a,$s));
echo '
'; echo '
';
$a = 'yyy29yyy&&yyy3&&';
$s = 'yyy';
echo '字符串2:'.$a;
echo '分割符:'.$s;
var_dump(strToArr($a,$s));
echo '
';

得到结果:

字符串1:&&29&&&&&yy3&&分割符:&&
array(5) {
[0]=>
string(0) ""
1=>
string(2) “29”
[2]=>
string(0) “”
[3]=>
string(4) “&yy3”
[4]=>
string(0) “”
}
字符串2:yyy29yyy&&yyy3&&分割符:yyy
array(4) {
[0]=>
string(0) ""
1=>
string(2) “29”
[2]=>
string(2) “&&”
[3]=>
string(3) “3&&”
}

### 第一题(2)
$a = array('11','55','&&','ee');
$s = '&&';
function arrToStr($a,$s){
	$str = '';
	foreach($a as $k=>$v){
		$str .= $v.$s;
	}
	$str = substr($str,0,-2);
	return $str;
}
$str = arrToStr($a,$s);
echo '
';
echo '数组:';
var_dump($a);
echo '拼接符:'.$s;
var_dump($str);

输出结果

数组:array(4) {
[0]=>
string(2) "11"
1=>
string(2) “55”
[2]=>
string(2) “&&”
[3]=>
string(2) “ee”
}
拼接符:&&
string(14) “11&&55&&&&&&ee”

第二题:
$n = 100;
function getMaxNum($n){
	//去除偶数
	if($n%2==0)
		$n = $n-1;
	//遍历奇数 被除数为奇数
	for($n;$n>=2;$n -=2){
		$flag = '';	
		for($i=sqrt($n);$i>2;$i-= 2){
			echo 1;
			//能被整除 非质数 结束循环
			if(($n%$i==0)){
				$flag = 1;
				break;
			}
		}
		if(!$flag){
			return $n;
		}
	}
	return false;
}
$num = getMaxNum($n);
var_dump($num);

输出结果

11111int(97)

第三题
$a = [0,1,2,3,4,5,6,7,8,9,6];
function getRepeat($a){
	$data = [];
	foreach($a as $k=>$v){
		if(isset($data[$v]) && $data[$v]==$v){
			return $v;
		}
		$data[$v] = $v;
	}
	return false;
}
$num = getRepeat($a);
var_dump($num);

输出结果:

int(6)

第四题:
function king($n,$m) {
	$people = range(1,$n);
	$i = 0;
	while(count($people) > 1) {
		if(($i+1)%$m == 0) {
			unset($people[$i]);
		} else {
			//如果不是制定的数字直接往后面追加 这样可以一直进行下去
			array_push($people,$people[$i]);
			unset($people[$i]);
		}
		$i++;
	}
	return current($people);
}
$n = 8;$m = 4;
$king = king($n,$m);
print_r($king);

输出结果

6

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/229812.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号