チャレンジ一覧に戻る
中級 0件解決済み 正答率0%

Raise a Fraction to a Real Power

Raise a positive fraction to a real-valued exponent.

このチャレンジで学べること

  • Raise a fraction to a real exponent
  • Work with floating-point results
  • Keep results within tolerance

問題

翻訳を表示

Interpret numerator / denominator as a positive rational number, then raise it to power. This task returns a real number rather than an exact fraction; it covers the real-exponent part of the Rational Numbers reference.

Implement rational_to_real_power(numerator, denominator, power).

Input

numerator: The positive numerator.

denominator: The positive denominator.

power: The real-valued exponent.

Output

Return (numerator / denominator) raised to power.

制約

1 ≤ numerator, denominator ≤ 100. −6 ≤ power ≤ 6, with at most two decimal places. Answers are accepted within absolute or relative error 0.000001.

例

例 1
入力:
power = 0.5
numerator = 9
denominator = 4

期待される出力:
expected = 1.5
入力:
double power = 0.5;
long long numerator = 9;
long long denominator = 4;

期待される出力:
double expected = 1.5;
入力:
double power = 0.5;
long numerator = 9;
long denominator = 4;

期待される出力:
double expected = 1.5;

解説

An exponent of 0.5 takes the positive square root: √(9/4) = 3/2 = 1.5.

例 2
入力:
power = -1.0
numerator = 2
denominator = 5

期待される出力:
expected = 2.5
入力:
double power = -1.0;
long long numerator = 2;
long long denominator = 5;

期待される出力:
double expected = 2.5;
入力:
double power = -1.0;
long numerator = 2;
long denominator = 5;

期待される出力:
double expected = 2.5;

解説

The exponent −1 takes the reciprocal: 5/2 = 2.5.

解き方のヒント

まずは自分で考えてから、ヒントを 1 つずつ開いてみましょう。

ヒント 1

Treat the fraction as one positive real value before applying the exponent.

ヒント 2

Use floating-point exponentiation directly, since the answer is approximate.

ヒント 3

Be careful with negative and fractional-looking exponents, and keep enough precision for the tolerance.

目安の計算量

O(1) time, O(1) extra space

参考資料

この課題はCodeUtility用に調整されています。上記の説明と制約に従ってください。

他の人の解答から学ぶ

コミュニティの解答

まだ公開された解答がありません。この課題を解いて最初の解答を共有しましょう。