2014-10-20 67 views
-5

我需要在Haskell中編寫一個函數,可以解決以下問題(physic_problem): 什麼是最短的建築物,你可以放下的高度(在整數米)一個球從至少需要5秒才能擊中地面? 該公式可以在這裏找到http://en.wikipedia.org/wiki/Equations_for_a_falling_body函數在Haskell可以解決方程

我真的很努力地對此和我需要幫助!

非常感謝!

+1

那麼究竟是什麼問題?你至少能告訴我們你到目前爲止所做的嘗試嗎? – chaosmasttter 2014-10-20 08:02:50

+0

d = g * t^2/2; t == 5; d> = 122.625? – elm 2014-10-20 08:21:46

+0

是酶如何將它寫入Haskell作爲函數,因此它可以給出米的高度。我真的無法定義這個函數,如果我願意,我會發布它。謝謝你們的幫助 – wadbarca 2014-10-20 08:33:16

回答

0

例如考慮這一點,

g :: Double 
g = 9.81 

dist :: Double -> Double 
dist t = g * t^2/2 

然後,

> dist 5 
122.625 

此外,您可能希望創建一個模塊出在維基方程。

更新

對於提供的積分值,例如考慮

dist' :: (Integral a) => Double -> a 
dist' t = ceiling $ g * t^2/2 

這裏我們使用ceiling(上限),但注意Converting to Integral其他舍入功能。因此,

> dist' 5 
123 
+0

@wadbarca希望這有助於啓動 – elm 2014-10-20 08:39:51

+0

是的,這是非常感謝! – wadbarca 2014-10-20 08:43:27

+0

如何僅以整數形式輸出結果並更改dist函數的輸出類型,因此它採用Double,但只生成整數(int或Integer)? – wadbarca 2014-10-20 08:48:15