- محدودیت زمان: ۱ ثانیه
- محدودیت حافظه: ۲۵۶ مگابایت
همانطور که میدانید توابع همانند یک برنامه کوچک در یک برنامه بزرگ عمل میکنند که مهمترین کاربردهای آنها عبارتند از:
- قابلیت استفاده مجدد از آنها (بهویژه از کتابخانههای موجود)
- تقسیم یک وظیفه بزرگ به چند وظیفه کوچکتر
- خوانایی و نظم بیشتر با گروهبندی عملیاتهای مرتبط
- سهولت آزمایش تکههای مختلف برنامه
- و غیره.
در این سؤال با استفاده از کتابخانه cmath
باید خروجی دو تابع زیر را بدست آورید.
[ \text{g}(x) = \lfloor \sqrt[4]{f(x^2)^3} + \frac{1}{x+10} \rfloor ]
در جدول زیر تعدادی نمونههایی از مقادیر این دو تابع به ازای ورودیهایی جهت سهولت بررسی کدتان داده شده است.
3 | 3 | -1 |
98 | 21 | 100 |
19 | 9 |
با این حال در این سؤال ورودی این دو تابع بهصورت هگزادسیمال به شما داده میشوند و خروجی را نیز بهصورت هگزادسیمال از شما میخواهیم.
دستگاه هگزادسیمال یا همان شانزدهشانزدهی از نمادهای ۰ تا ۹ برای مقادیر ۰ تا ۹ و از حروف A و B و C و D و E و F برای مقادیر ۱۰ تا ۱۵ استفاده میکند.
برای مثال:
1. Hex: 3AB, Decimal: 939
2. Hex: 10, Decimal: 16
3. Hex: 777, Decimal: 1911
4. Hex: D7, Decimal: 215
که در آن
$$ (3AB){16} = 3 \times 16^2 + 10 \times 16^1 + 11 \times 16^0 = (939){10} $$
- حداقل چهار تابع برای
- محاسبه مقدار
$f(x)$ - محاسبه مقدار
$g(x)$ - تبدیل از سیستم دسیمال به هگزادسیمال
- تبدیل از سیستم هگزادسیمال به دسیمال باید تعریف شود.
- محاسبه مقدار
عدد صحیح
در خط اول خروجی مقدار
3F
10
3D
$$ (3F){16} = 3 \times 16^1 + 15 \times 16^0 = (63){10} $$
$$ f(63) = (16){10} = (10){16} $$
$$ g(63) = (61){10} = (3D){16} $$