首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >致命错误:无法使用upperBound < lowerBound形成范围

致命错误:无法使用upperBound < lowerBound形成范围
EN

Stack Overflow用户
提问于 2020-02-08 05:44:05
回答 1查看 128关注 0票数 1
代码语言:javascript
复制
func isPrime(_ x: Int) -> Bool {
  var isPrimeNumber = true
    for divisor in 2...(x - 1) {
    if x % divisor != 0 {
    isPrimeNumber = true
  } else {
    isPrimeNumber = false
  }
 }
 return isPrimeNumber
}    

func printPrimes(upTo n: Int) {
  for y in 1...n {
     if isPrime(y) == true {
       print(y)
     }
    }
  }

printPrimes(upTo: 12)

编写一个名为printPrimes(upTo n: Int)的函数。函数应该打印介于1和n之间的素数。例如,如果传入100,则函数应该打印1到100之间的素数。如果一个数只能被它自己和1整除,而不能被任何其他数平除,那么它就是素数。使用n的几个不同值调用您的函数,并验证它是否打印正确的数字。

我不明白为什么我会收到这样的错误消息:

致命错误:无法使用upperBound < lowerBound

形成范围

EN

回答 1

Stack Overflow用户

发布于 2020-02-08 05:53:29

排在队伍里

代码语言:javascript
复制
for divisor in 2...(x - 1) {

对于x= 2或x= 1,上界将小于下界(在您的情况下是2)。

在这种情况下,您应该检查x的值应该始终满足(x-1)大于2的条件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60124273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档