前端自学,函数。作业:用户输入一个数,判断是否是素数

        function isPrimeNum() {
            var num = Number(prompt('请输入一个整数:'));
            for (var i = 2; i < num; i++) {
                if (num % i == 0) {
                    return '它不是素数';
                }  
            }
            return '它是素数';
        }
        alert(isPrimeNum());

作业要求是用户输入一个数,判断是否是素数,并弹出结果。

思路就是,看num变量除以1和自身之外的其他整数,余数是否为0。

如果其中有一个整数取余为0,代表能够被其他数整除,判断不是素数;

如果中间所有整数余数都不为0,代表不能被其他整数整除,判断是素数。

下面是之前写的错误代码。

        function isPrimeNum() {
            var num = prompt('请输入一个数:');
            for (var i = 2; i < num; i++) {
                if (num % i != 0) {
                    alert(num + '是素数');
                } else {
                    alert(num + '不是素数');
                }
            }
        }
        isPrimeNum();

错误原因:

1. 没有return语句终止函数,导致输入一个数后,反复弹输出框。

2. 思路逻辑错误,不应该用num % i != 0 作为判断条件,也不应该用if else语句。

    1~num自身那么多整数,肯定有取余不为0的,根本得不出结果。

    但只需要被其中一个整数取余为0,就能直接判断不是素数。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答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` 函数进行判断,根据返回结果输出相应信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值