sqrt=: -:@(+%)^:_~
   sqrt 3
1.78078
   sqrt 17
8.55842


On Thu, Dec 12, 2013 at 1:22 PM, William Tanksley, Jr <[email protected]
> wrote:

> I'm clueless -- how would you implement one of the more formally
> correct solutions (Newton's, Babylonian, exhaustive search, or random
> probing)? K did pretty well.
>
> -Wm
>
>
> On Thu, Dec 12, 2013 at 11:09 AM, Dan Bron <[email protected]> wrote:
> > There is a stack exchange dedicated to code golfing,
> > http://codegolf.stackexchange.com/ . During free moments at work, I find
> > posting J solutions is a good way to relieve stress.
> >
> > Today I came across a competition to reimplement square root in as few
> > characters as possible [1]. Most languages copped out and simply restated
> > sqrt as ^&0.5 to minimize their golf score.  (I did this too, to allow
> > apples-to-apples comparisons).
> >
> > But the C++ entry caught my eye:  exp(log(x)/2)) .  This is an
> interesting
> > approach, and gives us an opportunity to highlight some of the advantages
> > of J's notaton. Leaving aside the question of syntax, even expressing the
> > 4 primitives in that expression (exp, log, x, 2) would cost most
> languages
> > 8 characters.  But not in J.  In J, we do NOT need:
> >
> >    - To name variables (so no "x")
> >    - To name the constant 2 (in this particular case)
> >    - To delimit functions from arguments using parentheses
> >    - To explicitly instruct the intreprter to undo the log by typing
> "exp".
> >
> > This last freebie is perhaps the most satisfying.  We just tell the
> > interpreter that we want to operate "log space", and let J figure out the
> > exp for itself.
> >
> >    -:&.^.
> >
> > Six characters.  Less than it takes to write "log" and "exp" separated
> by a
> > single space!
> >
> > -Dan
> >
> > [1]
> >
> http://codegolf.stackexchange.com/questions/73/reimplementing-square-root/15856
> >
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to