determining if a int is a power
Hal Daume III
hdaume at ISI.EDU
Fri Nov 7 14:51:17 EST 2003
try "floor (sqrt (fromIntegral n))"
On Fri, 7 Nov 2003 ddekker6 at chello.nl wrote:
> hello all,
>
> im new to haskell and have to do some excersises. Well i ran into this problem. I have to determin if a list of int's contains a int that is a power. So i have been trying using "any" with a helper function which return a Bool if the int is a power and applying that to the list. I think that this aproach should work.
> Anyway the problem im having is in the helper function. I have been trying this:
> isPower n =
> let powerF = floor(sqrt(n)) in
> if (powerF*PowerF == n)
> then True
> else False
> but this doesnt work. Prelude says that the definition of isPower needs a fractional int (if i remember correctly) anyway it looks like something is wrong with my type's? Could you guys help me out? Is there a simple standard function i overlooked. Or what should i change? Thanks in advance guys/gals
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
--
Hal Daume III | hdaume at isi.edu
"Arrest this man, he talks in maths." | www.isi.edu/~hdaume
More information about the Haskell-Cafe
mailing list