[Haskell-cafe] type Rational and the % operator

michael rice nowgate at yahoo.com
Sun Mar 29 01:10:40 EDT 2009


This seems to work:

import Data.Ratio
cf :: [Integer] -> Rational
cf (x:[]) = toRational x
cf (x:xs) = toRational x + (1 / cf xs)

Hugs> :load cf.hs
Main> cf [1,2,6,5]
98 % 67
Main> cf [2,3]
7 % 3
Main> 

Thanks, guys!

Michael


--- On Sun, 3/29/09, Luke Palmer <lrpalmer at gmail.com> wrote:

From: Luke Palmer <lrpalmer at gmail.com>
Subject: Re: [Haskell-cafe] type Rational and the % operator
To: "michael rice" <nowgate at yahoo.com>
Cc: "Ryan Ingram" <ryani.spam at gmail.com>, haskell-cafe at haskell.org
Date: Sunday, March 29, 2009, 12:23 AM

2009/3/28 michael rice <nowgate at yahoo.com>

Still the same problem. The book says the answer is supposed to be an exact 98/67.

Michael



import Data.Ratio

cf :: [Integer] -> Rational

cf (x:xs) = (x % 1) + (1 % (cf xs))

cf (x:[]) = x % 1

cf [] = 0 % 1
Use (/) for division:
cf :: [Integer] -> Rationalcf (x:xs) = toRational x + 1 / cf xscf [x] = toRational x
cf [] = 0
Luke



      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20090328/0ca68118/attachment.htm


More information about the Haskell-Cafe mailing list