Find nth root of variable without using math operators/functions
JavaScript

This answer doesn't satisfy all the rules, but I'm happy that at least it works. It's valid only for integers greater than one and there's no further precision.

Note that the + and &gt; operators are used for string concatenation/comparison and the maths is behind the curtain. I hope that the ! operator doesn't count as "arithmetic" as it operates over booleans.

function f(x,n){for(a=(c=',')+Array(x),s=r=c;a&gt;s;r+=c)for(i='',s=r;i!=Array(n);i+=c)s=s.split(c).join(r);return r.slice(1).length}


And some tests:


&gt; f(125,3)
5
&gt; f(16807,5)
7
&gt; f(4782969,7)
9