حل تمرین اعداد هگزا دسیمال کوئرا با پایتون
در این نوشته به روش حل یکی از سوالات مبانی برنامه نویسی وبسایت کوئرا میپردازیم.
حل تمرین اعداد هگزا دسیمال کوئرا با پایتون
در یک صبح زیبای تابستانی اتفاق وحشتناکی در پردازنده مرکزی افتاد، یک ویروس آب زیرکاه به نام مگابایت به طریقی به حافظه خواهرش به نام هگزادسیمال (که کمتر از او آب زیرکاه نبود) دسترسی پیدا کرد. او برای به دست آوردن کنترل کامل بر خواهرش n عدد مختلف طبیعی از 1 تا n را load کرد. ولی نقشهاش با شکست مواجه شد. علتش ساده بود: هگزادسیمال هر اطلاعاتی را درک نمیکرد، بجز اعدادی که در مبنای ۲ نوشته شدهاند. یعنی اگر عددی در مبنای 10 شامل رقمی به جز 0 و 1 شود، در حافظه قرار نمیگیرد. اکنون مگابایت میخواهد بداند که چه تعداد از عددها به طور موفقیت آمیز load شدهاند.
ورودی
در یک خط عدد n به شما داده میشود.
خروجی
در یک خط پاسخ مسئله را چاپ کنید.
مثال
ورودی نمونه 1
10
خروجی نمونه 1
2
کد پایتون سوال تمرین اعداد هگزا دسیمال
def countBinaries(N): powersOfTwo = [0] * 11 powersOfTwo[0] = 1 for i in range(1, 11): powersOfTwo[i] = powersOfTwo[i - 1] * 2 ctr = 1 ans = 0 while (N > 0): if (N % 10 == 1): ans += powersOfTwo[ctr - 1] elif (N % 10 > 1): ans = powersOfTwo[ctr] - 1 ctr += 1 N = N // 10 return ans N = int(input()) print(countBinaries(N))
منبع سوال: کوئرا
اگر نیاز به حل تمرینهای دیگری از کوئرا دارید در بخش نظرات همین نوشته برای ما بنویسید.
ارسال پاسخ