
Of course them are not. But that is why I need the detector....
2009/9/29 Thomas DuBuisson
Unless I missed something, the function in question is:
sqrt (a * a + 2 + 2 * num) - fromIntegral a where num = 10
1 -> sqrt (1 * 1 + 2 + 2 * 10) - 1 -> sqrt (1 + 2 + 20) - 1 -> sqrt (23) - 1 -> 3.79xxxxx
the fractional will only ever come from the sqrt function. Do any of the following actually look like square values to you?
26 31 38 47 58 71 86 103 122
IMO, the code works and your expectations are a bit off.
Thomas
On Mon, Sep 28, 2009 at 11:54 PM, Magicloud Magiclouds
wrote: The original code is givenSum num = map (\a -> let l = (sqrt $ fromIntegral (a * a + 2 + 2 * num)) - (fromIntegral a) in case properFraction l of (_, 0) -> True _ -> False ) $ take num [1..] :t l is (Floating a) => a Well, in ghci *Main> givenSum 10 [False,False,False,False,False,False,False,False,False,False]
On Tue, Sep 29, 2009 at 2:45 PM, Thomas DuBuisson
wrote: On Mon, Sep 28, 2009 at 11:35 PM, Magicloud Magiclouds
wrote: It never matches to (_, 0.0).... I mean case properFraction l of (_, 0) -> l _ -> 0 -- always goes here.
Odd, it works fine for me.
f x = case properFraction x of (_,0) -> True _ -> False
*Main> f 5 True *Main> f 5.5 False *Main> f 4.0 True *Main> f 4.00000001 False
Thomas
-- 竹密岂妨流水过 山高哪阻野云飞
-- 竹密岂妨流水过 山高哪阻野云飞