当前位置: 首页 > 面试题库 >

我的isPrime方法有什么问题?

钦德佑
2023-03-14
问题内容

这是我的isPrime方法:

private static boolean isPrime(int num) {
    if (num % 2 == 0) return false;
    for (int i = 3; i * i < num; i += 2)
        if (num % i == 0) return false;
    return true;
}

我把isPrime(9)它放回去true。该方法有什么问题?


问题答案:

您的条件应为i * i <= num

private static boolean isPrime(int num) 
{
        if (num == 2) 
            return true;
        if (num < 2 || num % 2 == 0) 
            return false;
        for (int i = 3; i * i <= num; i += 2)
            if (num % i == 0) 
                return false;
        return true;
}

您未考虑数字9,因此9 <9将导致错误。但是您需要检查9。



 类似资料:
  • 是的,我知道这里有很多方法。这是任务的一部分。在这段代码中,除了输入相等的数字之外,一切都正常工作 }

  • 我有一个SQL存储过程,我需要转换为Oracle。我有一些语法问题。 我当前遇到的错误是: 错误(75,1):PLS-00103:在预期以下情况之一时遇到符号“DROP”:(开始情况声明结束异常退出,如果循环mod null pragma raise return选择更新 我想我还有很多。有人能帮我找出我做错了什么吗? 以下是我所拥有的: 以下是原始SQL代码:

  • 问题内容: 请考虑以下方法: 我从来都不是正则表达式专家,所以谁能完全解释这种方法的实际工作原理? 此外 ,与确定整数是否为质数的其他可能方法相比,它是否有效? 问题答案: 首先,请注意此正则表达式适用于一元计数系统中表示的数字,即 等等。确实,可以使用任何字符(因此表达式中为s),但是我将使用“ 1”。 其次,请注意此正则表达式匹配 复合 (非素数)数字;因此,否定会检测素数。 说明: 表达式的

  • 问题内容: 运行此代码时,我不断收到此错误: 错误:大小写类型的字符不同,并且整数不能匹配 您可能会认为这不会造成问题,因为我正在查询中创建新列。我还想指出的是,如果有帮助,我正在使用旧版本的PostgreSQL。 问题答案:

  • 下面是问题的链接:SPOJ-ACTIV 我想出了这个问题的重现如下: 其中next()查找具有开始时间的活动的索引 这是我的java解决方案,虽然它通过了SPOJ工具包的许多测试用例,但是它确实为一些提供了WA。我的概念/解决方案有什么问题?

  • 我试图实现连接,但我面临错误。我有产品表和商店表。产品表引用通过外键存储表,如下所示: 产品JAVA 现在,我展示tore.java 现在,我展示仓库 现在,这个错误是因为我在最后两个查询中实现了join。我想做的是购买所有商店位于特定城市或州的产品,如上图所示。 我遇到的错误是: 启动应用程序上下文时出错。要显示自动配置报告,请在启用调试的情况下重新运行应用程序。2016-10-16 09:53