Wo wir doch am Anfang bei Wurzeln waren...
Ich hab hier was:
Delphi-Quellcode:
procedure NSqrt(R: IInteger; Decimals: int64;
var Root: IInteger);
overload;
var r1: IInteger; i: int64; s:
string;
begin
NSet(r1, 10);
if Decimals <= maxint
then
begin
NPow(r1, decimals);
NMul(r1, r1);
end
else
begin
i := 0;
repeat;
NPow(r1, maxint);
dec(Decimals, maxint);
inc(i);
until i = decimals
div maxint;
if decimals = 1
then
NMul(r1, 10)
else
NPow(r1, decimals);
end;
NMul(r1, R);
NSqrt(Root, r1);
end;