Scala练习之高级函数

  • 编写函数values(fun:(Int)=>Int,low:Int,high:Int),该函数输出一个集合,对应给定区间内给定函数的输入和输出。比如,values(x=>x*x,-5,5)应该产出一个对偶的集合(-5,25),(-4,16),(-3,9),…,(5,25)
def values( fun:(Int) => Int, low :Int, high:Int)={
    var arr = List[(Int,Int)]()
    low to high foreach{
        num => arr = (num,fun(num)) :: arr
    }
    arr
}
values(x => x*x, -5,5).foreach(print(_))
//输出结果为:(5,25)(4,16)(3,9)(2,4)(1,1)(0,0)(-1,1)(-2,4)(-3,9)(-4,16)(-5,25)
  • 如何用reduceLeft得到数组中的最大元素?
val a=Array(1.1,2.1,3.1,0.1,4.1) 
a.reduceLeft((a,b) => if(a>b) a else b)
  • 用to和reduceLeft实现阶乘函数,不得使用循环或递归
println(1 to 3 reduceLeft(_ * _))
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值