文件内容课堂总结

通过 Scala 的函数式特性与 Spark 的分布式计算能力,水仙花数的计算不仅可作为算法练习案例,还可扩展至大数据处理场景。

 
递归求和函数  sum :计算从 1 到 n 的累加和。
 水仙花数判断函数  isShuiXianHuaShu :判断输入的整数是否为水仙花数(三位数)。
三位数水仙花数需满足:
a^3 + b^3 + c^3 = 100a + 10b + c


例如遍历与分解:通过循环遍历目标范围内的数,分解各位数字并计算幂次和。


// 递归求和函数(1+2+...+n)
def sum(num: Int): Int = {
  if (num <= 1) num
  else num + sum(num - 1)
}

// 判断三位数是否为水仙花数
def isShuiXianHuaShu(num: Int): Unit = {
  val a = num / 100          // 百位
  val b = (num % 100) / 10   // 十位
  val c = num % 10           // 个位
  if (a * a * a + b * b * b + c * c * c == num) {
    println(s"$num 是水仙花数")
  } else {
    println(s"$num 不是水仙花数")
  }
}

// 测试代码
println(sum(10))        // 输出 55
isShuiXianHuaShu(123)  // 输出 "123 不是水仙花数"
isShuiXianHuaShu(153)  // 输出 "153 是水仙花数"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值