scala水仙花

/**
  * 水仙花数: 如153=1^3+5^3+3^3
  * 整数=个位数*总位数 + 十位数*总位数 + 百位数*总位数
  */
object Test05 {
  def main(args: Array[String]): Unit = {
    for (x <- 100 to 999) {
      //定义数组:累计各位数
      val arr = ArrayBuffer[Int]()
      var t = x
      //遍历出各位数
      while (t > 0) {
        arr += t%10
        t = t/10
      }
      //math.pow:求取i的多少次方;sum获取总和
      if (arr.map(i => math.pow(i, arr.length)).sum == x) {
        print(x + " ")
      }
    }
  }
}
 

你可能感兴趣的:(scala水仙花)