查找在给定范围内的最大素数

编程入门 行业动态 更新时间:2024-10-25 02:21:17
本文介绍了查找在给定范围内的最大素数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我需要找到在给定范围的最高质数。这里是我的code这适用于0-100,但如果我给0-125它显示质数为125。

I need to find the highest prime number in a given range. Here is my code which works for 0-100 but if I give 0-125 it is showing prime number as 125.

<?php $flag=0; $b=125; for($i=$b;$i>=0;$i--) { if($i%2!=0) { for($b=3;$b<10;$b++) { if($flag==0) { echo('<br>'); if($i%$b!=0) { echo('highest prime number is'.$i); $flag=1; break; } elseif ($i%$b==0) { break; } } } } } ?>

在上面的code我已范围0-125

In the above code I have taken the range from 0-125

推荐答案

没错,问题是算法...

Yup the problem is algorithmic...

1)你需要检查截止到的sqrt($ B)即11在这种情况下

1) You'll need to check up till sqrt($b) i.e. 11 in this case

2) $标记逻辑有点乱了,没有用改变标志,则突破之后...

2) The $flag logic is kinda messed up, no use changing the flag then breaking out right after...

<?php $flag=0; $b=125; $sq=sqrt($b); for($i=$b;$i>=0;$i--) { if($i%2!=0) { for($b=3;$b<=$sq;$b++) { if($i%$b!=0) { $flag=1; } elseif($i%$b==0) { $flag=0; break; } } if($flag==1){ echo('highest prime number is '.$i); break; } } } ?>

更多推荐

查找在给定范围内的最大素数

本文发布于:2023-11-30 21:27:58,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1651523.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:素数   范围内

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!