- 可否定义一个sum函数呢?返回指定区间的值的和?例如,区间[1,4]的和为1+2+3+4=10返回指定区间值的平方的和呢?立方呢?
package com.spark.core.wc
import scala.io.Source
object temp {
def main(args: Array[String]): Unit = {
val x,y = readInt();
print(sum((i:Int)=>i,x,y));
//若要平方则改为sum((i:Int)=>i*i,x,y),立方同理
}
def sum(f:(Int)=>Int,x:Int,y:Int):Int={
var num = 0;
for (i <- x to y){
num += f(i);
}
num
}
}
2、定义一个gcd函数,计算两个数的最大公因数。
package com.spark.core.wc
import scala.io.Source
object temp {
def main(args: Array[String]): Unit = {
val x,y = readInt();
print(gcd(x,y));
}
//辗转相除法求最大公因数
def gcd (a:Int,b:Int):Int={
if(b == 0) return a
gcd(b,a%b)
}
}
3、scala实现杨辉三角。
package com.spark.core.wc
import scala.io.Source
object temp {
def main(args: Array[String]): Unit = {
//输入n,输出n阶杨辉三角
val n = readInt();
val a = Array.ofDim[Int](n+1,n+1);
for(i <- 1 to n){
a(i)(0) = 1
a(i)(i) = 1
}
for(i <- 2 to n){
for (j <- 1 to i){
a(i)(j) = a(i-1)(j-1) + a(i-1)(j);
}
}
for(i <- 1 to n){
for(j <- 1 to i){
print(a(i)(j) + " ")
}
println()
}
}