Javascript Math.sqrt Teilweise radizieren?
kann dimethode Math.sqrt teilweise radizieren?
bitte ein beispiel wenn ja
6 Stimmen
4 Antworten
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
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.
kannst du sowas in nen code schreiben? ich habe einen so weit dass nur noch das geändert werden müsste
JavaScript kann von sich aus überhaupt keine symbolische Rechnung (Algebra).
kannst du sowas in nen code schreiben? ich habe einen so weit dass nur noch das geändert werden müsste
Wenn man eine neue Methode mit dem gleichen Namen schreibt, dann kann die das.
Sonst aber nicht.
kannst du sowas in nen code schreiben? ich habe einen so weit dass nur noch das geändert werden müsste
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