- محدودیت زمان: ۱ ثانیه
- محدودیت حافظه: ۲۵۶ مگابایت
سلیب یک فایل $m$ بایتی روی هاردش دارد. او میخواهد حجم تقریبی این فایل را به روشی «خوانا برای انسان» نمایش دهد.
هر نمایش «خوانا برای انسان» به فرم «U
$n$» است. که از دو قسمت:
- «عدد» که با $n$ نمایش داده شد، یک عدد صحیح در بازهی $[1, 1023]$ (شامل ۱ و ۱۰۲۳) است.
- «یکا» که با
U
نمایش داده شد، یک رشته از حروف کوچک و بزرگ انگلیسی است و برابرB
،KiB
یاMiB
است.
برای مثال، نمایش 37MiB
یک نمایش «خوانا برای انسان» است. که قسمت «عدد» 37
و قسمت «یکا» MiB
است. ولی 12byte
(چون byte
جزو کلمات مجاز نیست.) یا 40000KiB
(عدد بیشتر از ۱۰۲۳ است.) «خوانا برای انسان» نیست.
همچنین میدانیم که:
- هر
1KiB
معادل1024B
است. - هر
1MiB
معادل1024KiB
است.
توجه کنید همیشه نمیتوانیم مقدار دقیق حجم یک فایل را به روش «خوانا برای انسان» نمایش دهیم و گاهی مجبور میشویم مقدار آن را تقریب بزنیم. از شما میخواهیم در تقریب زدن، همواره رو به پایین گرد کنید. برای بهتر متوجه شدن این موضوع به مثالها توجه کنید.
ورودی
در سطر اول ورودی، عدد صحیح و مثبت $T$ داده میشود که نشاندهندهی تعداد تستکیسها است. $$1 \leq T \leq 100$$
در $T$ سطر بعدی، در هر سطر یک عدد مثل $m$ داده میشود که نشاندهندهی ظرفیت فایل سلیب است.
$$1 \leq m \leq 10^9$$
خروجی
خروجی $t$ سطر دارد. در هر سطر حجم فایل مربوط به آن تست را به روش «خوانا برای انسان» چاپ کنید.
توجه کنید سیستم داوری نسبت به بزرگ و کوچک بودن حروف حساس است.
با توجه به محدودیتهای سوال، میتوان ثابت کرد همواره پاسخ مسئله موجود و یکتا است.
مثالها
ورودی نمونه ۱
3
29
1401
14510629
خروجی نمونه ۱
29B
1KiB
13MiB
تست اول.
ظرفیت فایل ۲۹ بایت است. بنابراین نمایش «خوانا برای انسان» آن به صورت 29B
است.
تست دوم.
ظرفیت فایل ۱۴۰۱ بایت است. باتوجه به اینکه «عدد» در نمایش «خوانا برای انسان» باید در بازهی ۱ تا ۱۰۲۳ باشد، نمایش 1401B
یا 0MiB
درست نیست و نمایش درست 1KiB
است.
تست سوم.
ظرفیت فایل ۱۴۵۱۰۶۲۹ است. با توجه به محدودیت «عدد» در نمایش «خوانا برای انسان» باید از یکای MiB
استفاده کنیم. نزدیکترین عدد ۱۳.۸ است ولی باید ظرفیت یک عدد صحیح و مثبت باشد و چون باید رو به پایین تقریب بزنیم 13MiB
را انتخاب میکنیم.
ارسال پاسخ برای این سؤال