Square root by hand: Difference between revisions

m (→‎{{header|Raku}}: not handling zero & stop unnecessary increments)
Line 31:
Time taken for 500 digits: 00:00:00.0092331
</pre>
 
=={{header|D}}==
{{trans|C#}}
<lang d>import std.bigint;
import std.math;
import std.stdio;
 
void main() {
BigInt i = 2;
BigInt j = cast(long) floor(sqrt(cast(real) 2.0));
BigInt k = j;
BigInt d = j;
int n = 500;
int n0 = n;
do {
write(d);
i = (i - k * d) * 100;
k = 20 * j;
for (d = 1; d <= 10; d++) {
if ((k + d) * d > i) {
d -= 1;
break;
}
}
j = j * 10 + d;
k += d;
if (n0 > 0) {
n--;
}
} while (n > 0);
}</lang>
{{out}}
<pre>14142135623730950488016887242096980785696718753769480731766797379907324784621070388503875343276415727350138462309122970249248360558507372126441214970999358314132226659275055927557999505011527820605714701095599716059702745345968620147285174186408891986095523292304843087143214508397626036279952514079896872533965463318088296406206152583523950547457502877599617298355752203375318570113543746034084988471603868999706990048150305440277903164542478230684929369186215805784631115966687130130156185689872372</pre>
 
=={{header|F_Sharp|F#}}==
Line 49 ⟶ 82:
3.3000000
</pre>
 
=={{header|Go}}==
{{trans|Visual Basic .NET}}
1,452

edits