Javascript Math.sqrt Teilweise radizieren?

Das Ergebnis basiert auf 6 Abstimmungen

Nein 50%
Ja 33%
Je nach dem wie man den Quellcode schreibt 17%

4 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet
Nein

Die interne Methode kann das nicht, nein. Sie gibt einfach die Dezimaldarstellung der Wurzel zurück.

Wenn Du Dir selbst eine Funktion schreiben möchtest, die das kann, musst Du die Zahl dafür in Primfaktoren zerlegen. Schon das ist eine recht komplexe und aufwändige Sache (wenn es nicht hochgradig ineffizient sein soll).

In Python beispielsweise gibt es das Modul sympy, in dem die Funktion factorint eine solche Primfaktorzerlegung durchführen kann - nur, damit Du eine Vorstellung hast: Diese ist schon mehr als 250 Zeilen lang (und Python-Funktionen sind in der Regel weitaus kürzer als Funktionen anderer Sprachen). Ein Äquivalent in JavaScript kenne ich nicht (müsstest Du recherchieren, hat mit Sicherheit schon mal jemand irgendwo programmiert - wenn es Dir reicht, eine Funktion zu haben und Du sie nicht selbst schreiben möchtest).

Was auf den ersten Blick also so trivial wirkt, ist doch nicht so trivial ;-) ich meine sogar, es gäbe ein Modul, das eine Funktion zum teilweisen Radizieren enthält. Aber nachdem das alles in Python ist, wird Dir das nicht viel weiterhelfen. Da müsstest Du Dir Deine Funktionen vermutlich selbst schreiben oder auf eine fremde zurückgreifen.

Wenn Du Dir mal den Algorithmus anschauen möchtest, hier der Sourcecode zur factorint-Methode in Python (Primfaktorzerlegung):
https://docs.sympy.org/latest/_modules/sympy/ntheory/factor_.html#factorint

LG


Chaosmelone44HD 
Beitragsersteller
 09.03.2019, 12:53

Danke hab ne einfache lösung: sobald man des wurzelzeichen einfibt / draudklickt wird die erste zahl in nem array gespeichert, aber durch nichts ersetzt und dann mit der ersten zahl weitergerechnet

0
Nein

Nein, das müsstest du schon selbst programmieren. Mach z.B. eine Primfaktorenzerlegung und sieh nach, welche Faktoren wie oft vorkommen. Kommt einer genau so oft vor, wie es dein Wurzelexponent angibt, kannst du ihn vor die Wurzel schreiben.


Chaosmelone44HD 
Beitragsersteller
 08.03.2019, 11:15

kannst du sowas in nen code schreiben? ich habe einen so weit dass nur noch das geändert werden müsste

0
Nein

JavaScript kann von sich aus überhaupt keine symbolische Rechnung (Algebra).


Chaosmelone44HD 
Beitragsersteller
 08.03.2019, 11:15

kannst du sowas in nen code schreiben? ich habe einen so weit dass nur noch das geändert werden müsste

0
Je nach dem wie man den Quellcode schreibt

Wenn man eine neue Methode mit dem gleichen Namen schreibt, dann kann die das.

Sonst aber nicht.


Chaosmelone44HD 
Beitragsersteller
 08.03.2019, 11:15

kannst du sowas in nen code schreiben? ich habe einen so weit dass nur noch das geändert werden müsste

0