Don't ask to ask, just ask  
PerlMonks 
Comment onby gods 
on Feb 11, 2000 at 00:06 UTC ( #3333=superdoc: print w/replies, xml )  Need Help?? 
I gather we're concerned only with square roots of integers and that, for example, if the answer is sqrt(18), you want to see it presented as 3 x sqrt(2) instead of simply sqrt(18).
To achieve this you'll first want to factorise the integer  you could use something like Math::Factor::XS or Math::Prime::Util. To stick with the above example, 18 factorises to the primes 2,3,3  multiply those primes together and you end up with 18. Notice that the "3" occurs twice  hence you can write the solution as 3 * sqrt(2). For sqrt(1050)  the prime factors are 2,3,5,5,7, with the "5" occurring twice, and the solution is therefore: That's essentially how it's done  I don't know if there's a module that does it all for you, or whether you'll have to program a good portion of it yourself. (Perhaps Math::NumSeq might also have something to offer.) Cheers, Rob In reply to Re: Converting a Number into a Radical
by syphilis

