知識點:
scala遞迴函式的返回值型別必須顯示宣告
編寫遞迴函式掌握兩要素:
①找出項與項之間的函式關係
②找出結束條件
scala遞迴函式,結束條件的返回值,必須用return返回
object demo01 通過此遞迴函式,判斷第n項的數字是多少
//函式關係:f(n)=f(n-1)+f(n-2)
//結束條件:f(0)=2 f(1)=3
def f1
(n:int)
:int=
//> f1: (n: int)intf1(
6)//> res0: int = 34
//練習1:給定乙個數列:2 3 4 9 16 81 ...
//編寫乙個遞迴函式 ,def f2(n:int)={} 通過此遞迴函式,判斷第n項的數字是多少
//函式關係:f(n)=f(n-2)*f(n-2)
//結束條件:f(0)=2 f(1)=3
def f2
(n:int)
:int=
//> f2: (n: int)intf2(
7)//> res1: int = 6561
//練習2:給定乙個數列:2 3 4 9 8 27 16 81 ...
//編寫乙個遞迴函式 ,def f3(n:int)={} 通過此遞迴函式,判斷第n項的數字是多少
//函式關係:n是偶數項 f(n)=2*f(n-2) n是奇數項 f(n)=3*f(n-2)
//結束條件:f(0)=2 f(1)=3
def f3
(n:int)
:int=
//> f3: (n: int)intf3(
9)//> res2: int = 243
//作業:編寫函式計算x的n次方,其中n是整數,要考慮等n是0,正偶數,正奇數,負數這幾種情況。
//比如當x=2時,此函式要算出 2^4,2^3,2^0,2^(-1)對應的值
//mi(x:int,n:int):double=
//mi(2,10)=1024
//mi(2,-1)=0.5
def mi
(x:int,n:int)
:double=
//> mi: (x: int, n: int)doublemi(
2,10)
//> res3: double = 1024.0mi(
2,7)
//> res4: double = 128.0mi(
2,0)
//> res5: double = 1.0mi(
2,-1
)//> res6: double = 0.5
}
遞迴之遞迴的函式
遞迴的函式 time limit 1000 ms memory limit 65536 kib submit statistic discuss problem description 給定乙個函式 f a,b,c 如果 a 0 或 b 0 或 c 0 返回值為 1 如果 a 20 或 b 20 或...
遞迴的函式
problem description 給定乙個函式 f a,b,c 如果 a 0 或 b 0 或 c 0 返回值為 1 如果 a 20 或 b 20 或 c 20 返回值為 f 20,20,20 如果 a b 並且 b c 返回 f a,b,c 1 f a,b 1,c 1 f a,b 1,c 其它...
遞迴的函式
time limit 1000ms memory limit 65536kb submit statistic discuss problem description 給定乙個函式 f a,b,c 如果 a 0 或 b 0 或 c 0 返回值為 1 如果 a 20 或 b 20 或 c 20 返回值...