<?php
for($m=2;$m<=100;$m++)
{
$k=sqrt($m);
for($i=2;$i<=$k;$i++)
if($m%$i==0)break;
if($i>=$k+1)
{
echo $m;
}
    $n=0;
$n=$n+1;
if($n%5==0)
echo "<br>\n";
}
?>

解决方案 »

  1.   

    for($m=2;$m<=100;$m++) {
      $k=sqrt($m);
      for($i=2;$i<=$k;$i++)
        if($m%$i==0)break;
      if($i>=$k+1) {
       echo $m;
      }
      printf("m=%d i=%d k=%.2f k+1=%.2f\n", $m, $i, $k, $k+1);
    }从结果中可以看到:$i 不会大于等于 $k+1,所以 echo $m; 不会被执行m=2 i=2 k=1.41 k+1=2.41
    m=3 i=2 k=1.73 k+1=2.73
    m=4 i=2 k=2.00 k+1=3.00
    m=5 i=3 k=2.24 k+1=3.24
    m=6 i=2 k=2.45 k+1=3.45
    m=7 i=3 k=2.65 k+1=3.65
    m=8 i=2 k=2.83 k+1=3.83
    m=9 i=3 k=3.00 k+1=4.00
    m=10 i=2 k=3.16 k+1=4.16
    m=11 i=4 k=3.32 k+1=4.32
    m=12 i=2 k=3.46 k+1=4.46
    m=13 i=4 k=3.61 k+1=4.61
    m=14 i=2 k=3.74 k+1=4.74
    m=15 i=3 k=3.87 k+1=4.87
    m=16 i=2 k=4.00 k+1=5.00
    m=17 i=5 k=4.12 k+1=5.12
    m=18 i=2 k=4.24 k+1=5.24
    m=19 i=5 k=4.36 k+1=5.36
    m=20 i=2 k=4.47 k+1=5.47
    m=21 i=3 k=4.58 k+1=5.58
    m=22 i=2 k=4.69 k+1=5.69
    m=23 i=5 k=4.80 k+1=5.80
    m=24 i=2 k=4.90 k+1=5.90
    m=25 i=5 k=5.00 k+1=6.00
    m=26 i=2 k=5.10 k+1=6.10
    m=27 i=3 k=5.20 k+1=6.20
    m=28 i=2 k=5.29 k+1=6.29
    m=29 i=6 k=5.39 k+1=6.39
    m=30 i=2 k=5.48 k+1=6.48
    m=31 i=6 k=5.57 k+1=6.57
    m=32 i=2 k=5.66 k+1=6.66
    m=33 i=3 k=5.74 k+1=6.74
    m=34 i=2 k=5.83 k+1=6.83
    m=35 i=5 k=5.92 k+1=6.92
    m=36 i=2 k=6.00 k+1=7.00
    m=37 i=7 k=6.08 k+1=7.08
    m=38 i=2 k=6.16 k+1=7.16
    m=39 i=3 k=6.24 k+1=7.24
    m=40 i=2 k=6.32 k+1=7.32
    m=41 i=7 k=6.40 k+1=7.40
    m=42 i=2 k=6.48 k+1=7.48
    m=43 i=7 k=6.56 k+1=7.56
    m=44 i=2 k=6.63 k+1=7.63
    m=45 i=3 k=6.71 k+1=7.71
    m=46 i=2 k=6.78 k+1=7.78
    m=47 i=7 k=6.86 k+1=7.86
    m=48 i=2 k=6.93 k+1=7.93
    m=49 i=7 k=7.00 k+1=8.00
    m=50 i=2 k=7.07 k+1=8.07
    m=51 i=3 k=7.14 k+1=8.14
    m=52 i=2 k=7.21 k+1=8.21
    m=53 i=8 k=7.28 k+1=8.28
    m=54 i=2 k=7.35 k+1=8.35
    m=55 i=5 k=7.42 k+1=8.42
    m=56 i=2 k=7.48 k+1=8.48
    m=57 i=3 k=7.55 k+1=8.55
    m=58 i=2 k=7.62 k+1=8.62
    m=59 i=8 k=7.68 k+1=8.68
    m=60 i=2 k=7.75 k+1=8.75
    m=61 i=8 k=7.81 k+1=8.81
    m=62 i=2 k=7.87 k+1=8.87
    m=63 i=3 k=7.94 k+1=8.94
    m=64 i=2 k=8.00 k+1=9.00
    m=65 i=5 k=8.06 k+1=9.06
    m=66 i=2 k=8.12 k+1=9.12
    m=67 i=9 k=8.19 k+1=9.19
    m=68 i=2 k=8.25 k+1=9.25
    m=69 i=3 k=8.31 k+1=9.31
    m=70 i=2 k=8.37 k+1=9.37
    m=71 i=9 k=8.43 k+1=9.43
    m=72 i=2 k=8.49 k+1=9.49
    m=73 i=9 k=8.54 k+1=9.54
    m=74 i=2 k=8.60 k+1=9.60
    m=75 i=3 k=8.66 k+1=9.66
    m=76 i=2 k=8.72 k+1=9.72
    m=77 i=7 k=8.77 k+1=9.77
    m=78 i=2 k=8.83 k+1=9.83
    m=79 i=9 k=8.89 k+1=9.89
    m=80 i=2 k=8.94 k+1=9.94
    m=81 i=3 k=9.00 k+1=10.00
    m=82 i=2 k=9.06 k+1=10.06
    m=83 i=10 k=9.11 k+1=10.11
    m=84 i=2 k=9.17 k+1=10.17
    m=85 i=5 k=9.22 k+1=10.22
    m=86 i=2 k=9.27 k+1=10.27
    m=87 i=3 k=9.33 k+1=10.33
    m=88 i=2 k=9.38 k+1=10.38
    m=89 i=10 k=9.43 k+1=10.43
    m=90 i=2 k=9.49 k+1=10.49
    m=91 i=7 k=9.54 k+1=10.54
    m=92 i=2 k=9.59 k+1=10.59
    m=93 i=3 k=9.64 k+1=10.64
    m=94 i=2 k=9.70 k+1=10.70
    m=95 i=5 k=9.75 k+1=10.75
    m=96 i=2 k=9.80 k+1=10.80
    m=97 i=10 k=9.85 k+1=10.85
    m=98 i=2 k=9.90 k+1=10.90
    m=99 i=3 k=9.95 k+1=10.95
    m=100 i=2 k=10.00 k+1=11.00