很多站长朋友们都不太清楚Php算法题有趣,今天小编就来给大家整理Php算法题有趣,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php 输出0到100之间只能被自己整除的数;这个特别有意思。我反正没写出来。 2、 关于一个算法问题,最好用PHP实现 3、 php算法题 4、 PHP算法之猴子选大王 5、 php的这个算法答案是什么 6%3?45:32a?= php 输出0到100之间只能被自己整除的数;这个特别有意思。我反正没写出来。这个题目有问题。首先,“只能被自己整除的数“只有1,这样的话,直接输出1就行了。
如果是”只能被自己或者1整除的数“,就演化成求0-100之间的质数了。这是一道算法基础题。
思路就是从2到100网上数,把自己的多倍倍数花掉,剩下的数字就是质数了。
代码:
<?php
$numbers = array();
//初始化
for($i=2;$i<101;$i++){
$numbers[$i]=0;
}
//把有2以上的约数的数字去掉
for($i=2;$i<51;$i++){
if($numbers[$i]==1)continue;
for($j=2;$i*$j < 101;$j++){
$numbers[$i*$j]=1;
}
}
//输出结果
for($i=2;$i<101;$i++){
if($numbers[$i]==0){
echo$i.', ';
}
}
?>
关于一个算法问题,最好用PHP实现DFS搜索就好啊 递归实现
1 2 3 4 5 6 7
1 2 3 4 5 6 8
或者使用BFS队列操作
1 12 13 14......
123 124 125.....
1234 1235.....
12345... 12346..
.......
php算法题$m = 100;
$n = 11;
echo getKing($m,$n);
function getKing($n, $m)
{
//强制转换为数值型
$n = intval($n);
$m = intval($m); //让猴子排好队
for($i=0; $i < $n; $i++)
{
$monkeys[$i] = $i+1;
}
$start = 0;//初始化开始位置
$step = $m - 1;
for($i=0; $i < $n; $i++)
{
//判断猴子的个数,如果只剩一个就直接返回这只猴子
$num_monkey = count($monkeys);
if($num_monkey === 1) return $monkeys[0]; //如果这一圈找不到要踢的猴子,就在下一圈找到要踢的猴子
if($start + $step >= $num_monkey)
{
$start = ($step+$start)%$num_monkey;
} else
{
//这一圈找到就直接踢它
$start = $start + $step;
}
unset($monkeys[$start]); //踢猴子
sort($monkeys); //让猴子重新站好
}
}
PHP算法之猴子选大王一群猴子要选新猴王。新猴王的选择方法是:让M只候选猴子围成一圈,从某位置起顺序编号为1~M号。从第1号开始报数,每轮从1报到N,凡报到N的猴子即退出圈子,接着又从紧邻的下一只猴子开始同样的报数。如此不断循环,最后剩下的一只猴子就选为猴王。请问是原来第几号猴子当选猴王?
请输入猴子的数量m 11
请输入要排除第几个猴子n 3
7
常规做法又两种,一种是数组,一种是链表,(数学方法不考虑)。对于数组方法测试了两种思路,第一种是生成一个键为1-M的关联数组,值为true,退出的键值为false;另一种是值为1-M的数值数组,退出的unset;结果是使用unset效率更高些。链表是用数组模拟的链表,生成键为1-M的关联数组,值为下一位的键值,最后一位的值为1。退出了就把上一位和下一位链接起来。测试表明,使用链表的速度快于数组。
php的这个算法答案是什么 6%3?45:32a?=6%3?45:32a?=
这是完整的表达式么?应该不对吧?
6%3结果为0, 0为假,取 : 后面的值
关于Php算法题有趣的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。