0
点赞
收藏
分享

微信扫一扫

Scala 回文数 杨辉三角 水仙花数

小亦同学321 2022-04-03 阅读 86
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)
举报

相关推荐

水仙花数(java)

打印水仙花数

JAVA——水仙花数

c水仙花数

计算“水仙花数”

求水仙花数

0 条评论