JS 写一个函数,用户输入一个数判断是不是素数,并返回值

今天只是看到一个做起来还比较简单的js函数题目,内容如下:

写一个函数,用户输入一个数判断是不是素数,并返回值(质数,只能被1和自身整除的数)

一般我们写的都会是:

function isPrimeNum(num){
    for (var i = 2; i < num/2+1; i++) {
        if (num%i==0){
            return false;
        }
    };
    return true;
}

很多时候任何一门语言都会有 优化 存在
我是一个小白,一直在学习的路上,我看了一位大神写的关于这个问题的文章,觉得很有意思,并且受益匪浅。
这是文章出处:
版权声明:本文为by FungLeo原创文章,遵循 CC 4.0 BY-SA 版权协议,
文章链接:https://blog.csdn.net/FungLeo/article/details/51483844

里面有非常清晰的优化思路!!!

### 回答1: 以下是一个判断素数函数: ``` def is_prime(num): if num < 2: return False for i in range(2, int(num ** .5) + 1): if num % i == : return False return True ``` 函数接受一个作为参,如果这个小于2,则直接返回False,因为小于2的都不是素数。接下来,我们从2开始循环到num的平方根(加1),如果num能被其中任意一个整除,则说明num不是素数,返回False。如果循环结束后都没有找到能整除num的,则说明num是素数,返回True。 ### 回答2: 素数是指只能被1和自身整除的自然。要判断一个是否为素数,我们可以从2开始逐个检查2到该的平方根之间的所有是否能整除该。如果能整除,则该不是素数;如果不能整除,则该素数。 下面是一个判断素数函数的示例代码: ```python import math def is_prime(n): # 判断n是否小于2,若小于2则不是素数 if n < 2: return False # 循环检查2到n的平方根之间的所有 for i in range(2, int(math.sqrt(n)) + 1): if n % i == 0: return False return True # 用户输入一个 num = int(input("请输入一个:")) if is_prime(num): print(num, "是素数") else: print(num, "不是素数") ``` 用户可以通过输入一个后,程序会判断是否为素数,并输结果。 ### 回答3: 一个只有在满足以下两个条件时才被称为素数只能被1和它自身整除,不能被其他整除。 根据上述定义,我们可以编一个函数判断用户输入的是否是素数。 以下是一个用Python编函数,来实现上述功能: ```python def is_prime_number(number): # 排除小于等于1的 if number <= 1: return False # 循环判断能否被 2 到 number-1 之间的整除 for i in range(2, number): if number % i == 0: return False # 若没有被整除,则说明是素数 return True ``` 这个函数接受一个 `number`,代表用户输入的。首先判断这个是否小于等于1,如果是,则直接返回 `False`,因为小于等于1的不是素数。 然后,使用一个循环从2到 `number-1`,分别判断 `number` 能否被这些整除,如果能整除,则不是素数,直接返回 `False`。 最后,如果循环结束后仍然没有被整除,就说明 `number` 是素数,返回 `True`。 我们可以通过调用这个函数判断任意是否为素数,如下所示: ```python n = int(input("请输入一个:")) if is_prime_number(n): print(n, "是素数") else: print(n, "不是素数") ``` 用户首先输入一个,然后调用 `is_prime_number` 函数进行判断,根据返回结果输相应信息。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值