function isPrime(num){ if (num === 2 || num === 3) { return true; }; if (num % 2 === 0) { return false; }; return true; } 为啥无法判断是否为质数
时间: 2023-11-27 15:55:08 浏览: 120
这个函数的判断逻辑存在问题。它只判断了2和3,以及偶数,但并没有判断其他奇数是否为质数。
以下是一个可以判断是否为质数的函数示例:
```
function isPrime(num) {
if (num <= 1) {
return false;
}
for (let i = 2; i <= Math.sqrt(num); i++) {
if (num % i === 0) {
return false;
}
}
return true;
}
```
这个函数会先判断输入的数是否小于等于1,如果是则返回false;接着从2开始枚举到该数的平方根,依次判断是否能整除,如果能整除则返回false,否则返回true。
相关问题
php 编写一个用来判断某整数是否为质数的函数,该函数的输人是一个整数,如果该整数是质数,就返回true,否则返回false,然后调用这个函数输出2~100所有的质数
<?php
function isPrime($num){
if($num==1){
return false;
}
for($i=2;$i<=$num/2;$i++){
if($num%$i==0){
return false;
}
}
return true;
}
for($i=2;$i<=100;$i++){
if(isPrime($i)){
echo $i." ";
}
}
?>
php输入一个数,判断是不是素数,是返回true,不是返回false
在PHP中,你可以编写一个函数来判断一个数是否为素数。素数是指只有1和自身两个正因数的自然数。下面是一个简单的函数示例:
```php
function isPrime($num) {
// 确保数字大于1,因为0和1不是素数
if ($num <= 1) {
return false;
}
// 循环从2到sqrt(num),如果发现能整除则num不是素数
for ($i = 2; $i * $i <= $num; $i++) {
if ($num % $i === 0) { // 如果余数为0,则num有除了1以外的因子
return false;
}
}
// 如果没有找到因子,则num是素数
return true;
}
// 使用示例
$number = 17; // 输入你要检查的数字
if (isPrime($number)) {
echo "$number 是素数";
} else {
echo "$number 不是素数";
}
```
阅读全文