2011-12-04 14 views
1

"新しい"フィボナッチアルゴリズムを開始しますが、機能しません。これは非常に簡単です:フィボナッチhaskell

--fiblista 0 n = [0] 
    --fiblista 1 n = [1] 
    fiblista a n 
     | a <= n = (0:1:tail, ((fiblista!!d)+(fiblista!!c))) fiblista a+1 n 
     where d = a - 1 
       c = a - 2 

例:

http://dl.dropbox.com/u/27560194/example.png

まずエラーコード:入力に誤りを解析 `=」

このアルゴリズムを修正するためにどのように任意のアイデア? 私はhaskellで1000個のフィボナッチアルゴリズムを読みましたが、新しいフィボナッチアルゴリズムを書く必要があります。

+0

あなたのアプローチを説明できますか?非常に多くの構文とタイプのエラーがあり、私はあなたがこの作業のためにどのように意味しているのか分かりません。 – hammar

答えて

4

インデントが間違っています。試してください:

fiblista 0 n = [0] 
fiblista 1 n = [1] 
fiblista a n 
    | a < n = (tail, ((fiblista!!d)+(fiblista!!c))) fiblista a+1 n 
    where d = a - 1 
     c = a - 2 

しかし、このコードはまだコンパイルされません。 fiblistaは2つのパラメータを持つ関数ですが、リストとしても使用しようとします。また、タプルを関数として使用しようとします。

まだ関数が書かれていない場合は、fiblistaのパラメータとその戻り値を説明できる場合は役に立ちます。型署名を含める。

この宿題はありますか?


So.

fiblista a n番目のフィボナッチ数で始まる、フィボナッチ数のリストであり、(N -1)番目のフィボナッチ数で終わります。

これはリストの質問です。

Imagine you had a list of all the Fibonacci numbers。 (fiblista 0 ∞と同じになります(が有効なHaskell値だった場合)takedropの標準リスト関数を使用してfiblista a nを計算することができます。

+0

Answer a-aフィボナッチ数を意味します.nは最後のフィボナッチ数です。この関数は、フィボナッチ数nのリストを返さなければなりません。私自身のやり方でハスケルを学ぶだけの宿題はありません。私の以前の質問は宿題の質問ではありません。 – flatronka

+1

「最後の」フィボナッチ数はどういう意味ですか?出力 'fiblista'は 'a'にどのように依存しますか?関数が一般的な入力に正確に返すものを正確に記述してください。 – Prateek

+0

例:http://dl.dropbox.com/u/27560194/example.png私の考え。 – flatronka

関連する問題