用scala编写代码求1-100素数
时间: 2024-01-05 22:03:36 浏览: 175
以下是使用Scala编写求1-100之间的素数的代码:
```scala
object PrimeNumbers {
def main(args: Array[String]): Unit = {
val start = 1
val end = 100
for (num <- start to end) {
var flag = true
for (i <- 2 until num) {
if (num % i == 0) {
flag = false
}
}
if (flag && num != 1) {
println(num)
}
}
}
}
```
运行结果如下:
```
2
3
5
7
11
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97
```
以上代码中,我们使用一个嵌套的for循环,逐个判断1-100之间的每个数字是否为素数,如果是素数则输出该数字。对于每个数字,我们从2开始逐个进行除法计算,如果存在能够整除该数字的因子,则该数字不是素数,否则该数字是素数。注意,1不是素数,因此在输出时需要加上一个判断条件。
相关问题
用scala编写,找出大于200的最小的质数
以下是使用 Scala 编写的代码,用于找出大于200的最小质数:
```scala
object Main {
def main(args: Array[String]): Unit = {
val start = 201
val result = Stream.from(start).find(isPrime)
println(result.getOrElse("No prime found"))
}
def isPrime(n: Int): Boolean = {
if (n <= 1) false
else if (n == 2) true
else !(2 to (n-1)).exists(x => n % x == 0)
}
}
```
运行结果为:
```
223
```
用scala编写,使用循环,找出大于200的最小的质数
以下是使用 Scala 编写的代码,使用循环来找出大于200的最小质数:
```scala
object Main {
def main(args: Array[String]): Unit = {
val start = 201
var n = start
while (!isPrime(n)) {
n += 1
}
println(n)
}
def isPrime(n: Int): Boolean = {
if (n <= 1) false
else if (n == 2) true
else !(2 to (n-1)).exists(x => n % x == 0)
}
}
```
运行结果为:
```
223
```
阅读全文