Falls sich jemand da auskennt bin ich sehr dankbar.
Code: Alles auswählen
EnableExplicit
Procedure.s Wurzel(Zahl.w, Exponent.b = 2, Laenge.b = 9)
Define Zahlanf.s, i.b, echo.s, b.b
If Zahl < 0
Debug "Die Zahl ist kleiner als 0"
EndIf
Zahlanf = Str(Int(Pow(Zahl, 1/Exponent)))
If Val(Zahlanf)*Val(Zahlanf) = Zahl
ProcedureReturn Zahlanf+".0"
EndIf
echo = Zahlanf+","
Zahlanf = Str(Zahl-Val(Zahlanf)*2)
;Debug echo
For i=1 To Laenge
Zahlanf = Zahlanf+"00"
For b=0 To 10
If Val(Zahlanf)/Val(Str(Val(RemoveString(echo, ","))*2)+Str(b)) = b
Zahlanf = Str(Val(Zahlanf)-Val(Str(Val(RemoveString(echo, ","))*2)+Str(b))*b)
echo + Str(b)
Break
EndIf
If b = 10
If i = 8
Debug Zahlanf
Debug "-"+Str(Val(Str(Val(RemoveString(echo, ","))*2)+Str(b))*b)
EndIf
echo + Str(0)
EndIf
Next
Next i
ProcedureReturn echo
EndProcedure