scala编写一个函数,接受一个整数参数n,返回n的平方。
时间: 2023-10-30 13:23:59 浏览: 155
以下是一个 Scala 函数,用于计算一个整数的平方:
```scala
def square(n: Int): Int = {
n * n
}
```
这个函数的逻辑很简单,就是将一个整数乘以自己,即得到它的平方。
使用方法如下:
```scala
val n = 5
val square = square(n)
println(s"$n 的平方是 $square")
```
输出结果为:
```
5 的平方是 25
```
相关问题
Scala请编写一个高阶函数,实现任意个连续整数的“连加和”、“平方和”。 注意:一个高阶函数,实现两个功能。
在Scala中,我们可以创建一个高阶函数,使用`foldLeft`操作符来实现连加和和平方和。`foldLeft`是一个对集合进行累积计算的操作,它接收一个初始值和一个函数作为参数,然后依次应用这个函数到集合的每个元素上,生成一个新的累积结果。
首先,我们定义一个接受一个数字和当前累积总和的函数,这个函数会返回下一个数字加入后的累计结果:
```scala
def accumulate(sum: Int, n: Int): Int = sum + n
```
接着,我们可以定义两个高阶函数,分别用于计算连加和和平方和:
```scala
def sumOfSequence(numbers: List[Int]): Int = {
numbers.foldLeft(0)(accumulate)
}
def squareSumOfSequence(numbers: List[Int]): Int = {
numbers.foldLeft(0) { (sum, n) =>
sum + math.pow(n, 2)
}
}
```
这里,`sumOfSequence`计算连加和,而`squareSumOfSequence`计算平方和。这两个函数都接受一个整数列表作为输入,并通过`foldLeft`处理列表中的每一个元素。
请编写一个用Scala高阶函数,实现任意个连续整数的“连加和”、“平方和”。
在Scala中,我们可以利用高阶函数以及lambda表达式来实现这样的功能。这里是一个简单的例子,定义两个函数`sumOfNumbers`和`squareSumOfNumbers`,它们分别计算给定整数序列的和与平方和。
```scala
// 定义一个接受函数作为参数的高阶函数,计算连续整数的和
def sum(numbers: (Int => Int) -> (Int, Int)): Int = {
val start = numbers._1
var sum = start
for (_ <- 1 until numbers._2) {
sum += start + _
start += 1
}
sum
}
// 同样,定义一个计算平方和的高阶函数
def squareSum(numbers: (Int => Int) -> (Int, Int)): Int = {
val start = numbers._1
var squareSum = start * start
for (_ <- 1 until numbers._2) {
squareSum += (start + _) * (start + _)
start += 1
}
squareSum
}
// 使用示例
val range = (1, 5) // 计算从1到4的连续整数的和与平方和
println(s"连加和: ${sum(sumOfNumbers(range))}")
println(s"平方和: ${squareSum(squareSumOfNumbers(range))}")
阅读全文