QOJ.ac

QOJ

حد الوقت: 2.0 s حد الذاكرة: 256 MB مجموع النقاط: 100 قابلة للهجوم ✓

#18327. 火曜日の会員デー

الإحصائيات

「火曜日の会員デー、2 個目はたった 1 元、換算するとバーガー 1 個 6.5 元!」

柠檬 の学校に新しくバーガー店が開店し、この宣伝文句を掲げました。バーガーが好きな 柠檬 はすぐにこの店に注目しましたが、「換算すると」という言葉を見落とし、宣伝文句の意味を完全に誤解してしまいました。

本来の意味は次のとおりです。割引を適用しないバーガーの通常価格は 1 個 12 元です。会員デーのキャンペーンでは、2 個買うときは「1 個の通常価格に 1 元を加えた額」、合計 13 元だけを払います。換算すると、バーガー 1 個あたり平均 6.5 元になります。

しかし 柠檬 は「換算すると」を見落とし、バーガーの通常価格が 1 個 6.5 元で、2 個目はさらに 1 元だけ払えばよいので、7.5 元でバーガーを 2 個買えると理解しました。

柠檬 がこの誤った理解に基づいて計算した、キャンペーン適用後のバーガー 1 個あたりの平均価格が与えられます。割引を適用しない通常価格を計算してください。

problem_18327_1.png

入力

各テストファイルには複数のテストケースが含まれます。

1 行目にはテストケース数を表す整数 $T$ ($1 \le T \le 10^5$) が与えられます。各テストケースについて:

唯一の行には、柠檬 が考えるキャンペーン適用後のバーガー 1 個の価格を表す 1 個の実数 $x$ ($2 < x \le 4 \times 10^{16}$) が与えられます。

$x$ は小数点を含み、その後に 2 桁の数字があることが保証されます。

出力

各テストケースについて、割引を適用しないバーガーの通常価格を 1 行に出力してください。

答えは小数点以下 2 桁でなければならず、正解と完全に一致する場合にのみ受理されます。

入出力例

入力 1

3
3.75
111705.27
36028797018963968.01

出力 1

12.00
446818.08
144115188075855869.04

注記

ヒント: 浮動小数点数の保存方法により、多くの場合、精度の問題は避けられません。実際の用途では、金額の処理にどんな誤差も許容できません。0.01 元の誤差でも帳簿が合わなくなり、さまざまな問題を引き起こします。では、どのように処理すればよいのでしょうか?

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.