1.回文是指正向和逆向读起来相同的词,例如mom,dad。
def isPalindrom(word:String): Boolean ={
if(word == word.reverse) // String.reverse是让字符串反转
return true
else
return false
}
var test1_Palindrom = isPalindrom("mom")
var test2_Palindrom = isPalindrom("abcde")
var test3_Palindrom = isPalindrom("mooooooom")
输出结果:
test1_Palindrom_tjy43: Boolean = true
test2_Palindrom_tjy43: Boolean = false
test3_Palindrom_tjy43: Boolean = true
2. 杨辉三角,是二项式系数在三角形中的一种几何排列,中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。
* 在欧洲,帕斯卡(1623----1662)在1654年发现这一规律,所以这个表又叫做帕斯卡三角形。
* (1)每个数字都是它上方两数之和
* (2)两侧最外围是由数字1组成
* (3)其余数测试其肩上两个数的和 结合实际,运用scala编程实现指定层杨辉三角的输出。
var a = Array.ofDim[Int](14, 14)
for(i <-0 until(14) ){
for(j <-0 to(i)){
if( j == 0 || i == j) a(i)(j) = 1 // 这里是给外层赋值
else a(i)(j) = a(i-1)(j-1) + a(i-1)(j)
printf("%5d",a(i)(j))
}
printf("\n")
}
输出结果:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
1 10 45 120 210 252 210 120 45 10 1
1 11 55 165 330 462 462 330 165 55 11 1
1 12 66 220 495 792 924 792 495 220 66 12 1
1 13 78 286 715 1287 1716 1716 1287 715 286 78 13 1
3.水仙花数是指各位、十位、百位的立方和等于这个数本身
def daffodil(): Array[Int] = {
var tempArray: Array[Int] = new Array[Int](0)
for(i<- 100 to 999){
var a = i/100
var b = i/10%10
var c = i%10
if(scala.math.pow(a,3) + scala.math.pow(b,3) + scala.math.pow(c,3) == i)
tempArray = tempArray:+i
}
return tempArray
}
var test_tjy43 = daffodil()
输出结果:
test_tjy43: Array[Int] = Array(153, 370, 371, 407)