問題
やめ太郎さんの記事を読んでフィボナッチ数列というものを知り、JavaScriptで書かれたコードをSwiftで書き直してみたのですが、正しい値が帰ってきません。コードを見直しても何が違うのかわからず困っています。
コード
記事で紹介されていたコード
Javascript
1const rec = (f2, f1, n) => { 2 if (n === 1) return f1; 3 return rec(f1, f2+f1, n-1); 4}; 5 6const fibo = n => (n < 2)? n: rec(0, 1, n);
自分で書き直したコード
swift
1 func rec(f1:Int, f2:Int, n:Int) -> Int{ 2 if n == 1{ 3 return f1 4 } 5 return rec(f1: f1, f2: f2+f1, n: n-1) 6 } 7 func fibo(number n:Int){ 8 print(n < 2 ? n: rec(f1: 0, f2: 1, n: n)) 9 }
フィボナッチ数列で10を入れた場合正し区計算できていれば55が帰ってくるはずなのですが、なぜか0が出力されてしまいます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/10 10:50
2019/05/10 11:36 編集
2019/05/14 05:52