一、求100之内的素数php
<?php header("content-type: text/html;charset=utf-8");//使得php动态输出内容支持汉字,这里header建议放在第一行。 ?> <?php echo "第一题:求100之内的素数"; echo "<br/>"; $n=100;//100之内 $m=0;//记录质数的个数 for($i=2;$i<=$n;$i++){//循环遍历2到n(这里n的值是100) $flag=true;//每一个数先假设是质数 for($j=2;$j<=sqrt($i);$j++){//从2开始,到√i(i开根号),开始找约数(找到约数就不是质数,找不到就是质数) if($i%$j==0){//若是 i能被j整除,说明i不是质数 $flag=false;//不是质数,将flag标记为false break;//跳出找约数的该层循环(j循环) } } if($flag){//若是flag=true,说明是质数, $m++;//质数个数+1 echo $i," ";//输出该数,用空格分开 if($m%5==0){//每行显示五个 echo "<br/>"; } } } ?>
运行结果:css
二、求前100个素数html
基本思路和上一题同样。这里引入了bootstrap的表格样式,美化页面bootstrap
<?php header("content-type: text/html;charset=utf-8"); ?> <link href="bootstrap.min.css" rel="stylesheet"> <body> <table class="table table-condensed table-bordered" style="width:700px;text-align:center;"> <?php echo "第二题:求前100个素数"; echo "<br/>"; $n=0;//记录质数的个数 $m=2;//第一个质数从二开始, while ($n<100){//质数的个数小于100 $flag=true; for($i=2;$i<=sqrt($m);$i++){//判断m是不是质数 if($m%$i==0){ $flag=false; break; } } if($flag){ //若是是质数 $n++;//质数个数+1 if($n%10==1){//每行的第一个数在输出是要加<tr> if(floor($n/10)%2==1)//控制奇偶行的颜色 echo "<tr class='info'><td>".$m."</td>"; else echo "<tr class='danger'><td>".$m."</td>"; }else if($n%10==0){//每行的最后一个数在输出是要加</ tr> echo "<td>".$m."</td></tr>"; }else{//每行中间的数直接输出<td> </td> echo "<td>".$m."</td>"; } } $m++; } ?> </table> </body>
运行结果:code
欢迎给出修改和改进的意见,谢谢!htm