考基本功的 10 个简单编程题

一、给一个数 N,判定这个数是否是素数。
1、先让面试者说素数的定义,如果不知道可以提示素数的定义
2、最差的面试者,会没有思路,这是很可怕的,大学第一学期学完,应该学会这个题
3、一般的面试者,能比较费劲地写出正确的程序,但是可能存在边界、标记等问题。
4、写出程序出来,可以进一步问,优化的空间,在哪里,所谓优化,无非就是时间和空间复杂度。
5、只有少数的面试者,能进行几轮优化
6、有训练的面试者可能知道一些特定的高效方法

<?php
    check_ss(8);
 
    function check_ss($num) {
        for($i=2; $i < $num ; $i++) {
            if($num % $i == 0) {
                echo $num. '不是素数';
                exit;
            }
        }
        
        echo $num. '是素数';
    }

二、给一个数 N,把 2 到 N 之间的素数输出出来
1、这个题比上面这个难度加大了一层
2、可以限定,不让其使用子函数,增加逻辑上的复杂度
3、其他的,同样一层层考优化的方法

<?php
 
$no=0;//用于标记经检验前后是否是素数,0表示是;1不是;
 
for($i=2;$i<=1000;$i++){//循环2-1000
 
    for($j=2;$j<$i;$j++){//检验当前$i是否是素数
        if($i%$j==0){
            $no=1;//如果取余得0,不是素数,改值为1
        }
    }
 
if($no==0){echo $i;}//经过检验后如果$no仍为0,则$i是素数。
 
}
?>

三、写出三角状的 9*9 乘法表
1、这个题目面向基础比较差的面试者
2、最差的面试者,也会说没有思路,在学校会写,现在忘记了
3、比较一般的能写出来,更进行一步的,可以让其用几种循环来写,写倒三角
4、如果都没有问题,循环思维逻辑值得肯定
<?php

    for($a = 1; $a <10; $a++){
        echo "<table>";
        echo "<tr>";
        for ($b=1; $b <= $a; $b++) {
            echo "<td>";
            echo "$a*$b=".$a*$b;
            echo "</td>

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值