Zurück zu den Herausforderungen
Mittel 0 gelöst 0% Erfolgsquote

Eine Zahl auf eine Bruchpotenz heben

Hebe eine positive reelle Zahl auf einen rationalen Exponenten.

Das lernst du

  • Einen rationalen Exponenten in Wurzel und Potenz zerlegen
  • Gleitkommamathematik sicher einsetzen
  • Gekürzte und negative Exponenten behandeln

Problem

Der Exponent ist Zähler / Nenner. Hebe base_value auf diesen Exponenten und gib das reellwertige Ergebnis zurück. Zum Beispiel ergibt ein Exponent von 1/3 die positive Kubikwurzel.

Implementiere real_to_rational_power(base_value, numerator, denominator).

Eingabe

base_value: Die positive Basis.

numerator: Der Zähler des Exponenten.

denominator: Der Nenner des Exponenten.

Ausgabe

Gib base_value hoch numerator / denominator zurück.

Einschränkungen

0,1 ≤ base_value ≤ 100, mit höchstens zwei Dezimalstellen. −6 ≤ numerator ≤ 6; 1 ≤ denominator ≤ 10. Antworten werden mit einem absoluten oder relativen Fehler von 0,000001 akzeptiert.

Beispiele

Beispiel 1
Eingabe:
numerator = 1
base_value = 8.0
denominator = 3

Erwartete Ausgabe:
expected = 2.0
Eingabe:
long long numerator = 1;
double base_value = 8.0;
long long denominator = 3;

Erwartete Ausgabe:
double expected = 2.0;
Eingabe:
long numerator = 1;
double base_value = 8.0;
long denominator = 3;

Erwartete Ausgabe:
double expected = 2.0;

Erläuterung

2 × 2 × 2 = 8, daher ist die Kubikwurzel 2.

Beispiel 2
Eingabe:
numerator = -1
base_value = 16.0
denominator = 2

Erwartete Ausgabe:
expected = 0.25
Eingabe:
long long numerator = -1;
double base_value = 16.0;
long long denominator = 2;

Erwartete Ausgabe:
double expected = 0.25;
Eingabe:
long numerator = -1;
double base_value = 16.0;
long denominator = 2;

Erwartete Ausgabe:
double expected = 0.25;

Erläuterung

Die Quadratwurzel von 16 ist 4, und der negative Exponent ergibt den Kehrwert, also 1/4.

So gehst du vor

Versuch es zuerst allein und öffne dann einen Hinweis nach dem anderen.

Hinweis 1

Wandle den Exponentenbruch zuerst in einen einzelnen reellen Exponenten um.

Hinweis 2

Erhebe dann die positive Basis mit einer reellen Potenzoperation.

Hinweis 3

Stelle sicher, dass negative Exponenten Kehrwerte erzeugen, und vermeide Fehler bei Wurzeln mit Bruchexponenten.

Erwartete Komplexität

Zeit O(1), zusätzlicher Speicher O(1)

Referenzen

Diese Aufgabe wurde für CodeUtility angepasst. Beachte die oben genannten Vorgaben und Einschränkungen.

Von anderen lernen

Community-Lösungen

Noch keine veröffentlichten Lösungen. Löse die Aufgabe und teile als Erster eine Lösung.