编写scala程序 计算100-999的所有的水仙花数
时间: 2024-03-15 12:44:13 浏览: 113
以下是Scala程序代码:
```scala
object NarcissisticNumbers {
def main(args: Array[String]): Unit = {
val narcissisticNumbers = for {
i <- 100 to 999
val (a, b, c) = (i / 100, (i / 10) % 10, i % 10)
if (a * a * a + b * b * b + c * c * c == i)
} yield i
println(narcissisticNumbers.mkString(", "))
}
}
```
程序中定义了一个 `NarcissisticNumbers` 对象,其中包含一个 `main` 方法。在 `main` 方法中,使用 `for` 循环遍历了 100 到 999 之间的所有数字,并对每个数字进行水仙花数的计算。对于每个数字,通过模运算和整除运算,计算出该数字的百、十、个位上的数字,然后根据水仙花数的定义,判断是否满足条件,如果满足条件,则将该数字加入到结果列表中。最后,将结果列表打印输出即可。
阅读全文