2016-04-01 26 views
2

によってダブル分け、問題は、私は私はそれが動作するように取得できますかIntHaskellは、私は次のコードを持っているのInt

factorial :: Int -> Int 
factorial 0 = 1 
factorial e = e * (factorial e-1) 

sumX :: Double -> Int -> Double 
sumX x 0 = (x^0)/(factorial 0) 

Doubleを分割しようということでしょうか?

+0

」に任意の整数型(Integralクラスのインスタンス)を変換するfromIntegral機能を使用することができ、第二に

factorial e = e * factorial (e - 1) 

を書く必要がありますそれを倍増させる。 googleキャスティング – StefanS

+4

@daredevil errいいえ... Haskellはキャストしません;))(でもあなたがすれば偉大なウェブキャストを見つけることができます) – Carsten

+0

Chrisはあなたに必要な答えをくれました。とにかく '1/1 = 1'になるときはx^0)/(階乗0)'? – Carsten

答えて

6

1つの問題は、間違って階乗関数をカッコで括っていることです。あなたが任意の数値タイプ(Numクラスのインスタンス)

sumX x 0 = x^0/fromIntegral (factorial 0) 
関連する問題