控制結構與函式練習(三)
今天繼續控制結構與函式部分的練習,最後一題了,進度有點兒慢哦。
[題目] 編寫函式計算xn,其中n是整數,使用如下遞迴定義:
- xn = y2,如果n是正偶數的話,這裡的y = xn/2;
- x = x.xn-1,如果n是正奇數的話;
- x0 = 1;
- xn = 1/x-n,如果n是負數的話。
不得使用return語句。
Ans:
scala> def x_n(x : Double, n : Int) : Double = {
| if (n > 0 && n%2 == 0) x_n(x, n/2) * x_n(x, n/2)
| else if (n > 0 && n%2 == 1) x * x_n(x, n - 1)
| else if (n == 0) 1
| else 1 / x_n(x, -n)
| }
x_n: (x: Double, n: Int)Double
scala> x_n(2, -2)
res31: Double = 0.25
scala> x_n(2, -81)
res32: Double = 4.1359030627651384E-25
scala> x_n(2, 113)
res33: Double = 1.0384593717069655E34
scala> x_n(2, 16)
res34: Double = 65536.0
scala> x_n(2, 0)
res35: Double = 1.0
scala> x_n(2, 10)
res36: Double = 1024.0
scala> x_n(2, 9)
res37: Double = 512.0
scala> x_n(2, 18)
res38: Double = 262144.0
scala> x_n(2, 8)
res39: Double = 256.0
相關文章
- Python函式練習題Python函式
- mysql函式練習題MySql函式
- 建構函式與解構函式函式
- 函式指標練習題函式指標
- MATLAB巢狀函式練習Matlab巢狀函式
- 函式學習三函式
- 2. 流程控制 與 函式 |《 刻意學習 Golang 》函式Golang
- PHP 手冊 (類與物件) 學習筆記五:建構函式和解構函式PHP物件筆記函式
- PHP筆記:建構函式與解構函式PHP筆記函式
- 字串函式學習三字串函式
- 關於建構函式與解構函式的分享函式
- 建構函式與普通函式的區別函式
- python程式的三種控制結構Python
- python中list方法與函式的學習總結Python函式
- 結構體三種例項化方法(含成員函式)結構體函式
- 資料結構專題練習資料結構
- JS資料結構-棧-練習JS資料結構
- 高階函式與標籤函式,解構賦值與物件字面量的簡化學習函式賦值物件
- JS 建構函式與類JS函式
- 學習Scala 方法與函式函式
- 預設建構函式學習函式
- if-else擴充套件結構練習套件
- PHP 學習總結之函式PHP函式
- c++函式學習總結C++函式
- 迴圈單連結串列建構函式、解構函式C++實現函式C++
- 曹廣福實變函式論與泛函分析部分習題解答 習題二 三 四函式泛函分析
- 預設建構函式、引數化建構函式、複製建構函式、解構函式函式
- interrupt結構體和相關函式結構體函式
- pytest(7)-yield與終結函式函式
- Java 建構函式與修飾符詳解:初始化物件與控制許可權Java函式物件
- Vue學習(三)生命週期函式Vue函式
- 控制make的函式函式
- 三、函式函式
- C++ 建構函式和解構函式C++函式
- 類的建構函式和解構函式函式
- mysql練習 —— 關於一些函式的使用MySql函式
- 笨辦法學C 練習18:函式指標函式指標
- 笨辦法學C 練習25:變參函式函式
- WPF控制元件結構與Content理解控制元件