بکندباز

این چالش بر اساس بازی کلاسیک “ماری” ساخته شده است.

فرض کنید صفحه بازی یک مربع n * n است و مار، بازی را با طول 1 (یعنی فقط سر) که در گوشه سمت چپ بالا قرار دارد شروع می کند.

به عنوان مثال، اگر n = 7 باشد، بازی چیزی شبیه به این است، یک مربع 7 در 7:

در این نسخه از بازی، طول مار با هر بار خوردن غذا دو برابر می شود (مثلاً اگر طول آن 4 باشد، بعد از خوردن به 8 می رسد).

تابعی ایجاد کنید که عدد n (به عنوان ابعاد صفحه بازی) را در ورودی بگیرد و تعداد دفعاتی را که مار می تواند قبل از اینکه فضایش در صفحه بازی تمام شود، بخورد را برمی گرداند.

راهنمایی = اگر n برابر با 3 باشد، یک صفحه 3 در 3 شامل 9 خانه داریم. یکی از خانه ها از اول پر است. اگر مار غذا بخورد یکی اضافه می شود. الان طول مار برابر با 2 شده است و دو خانه از صفحه پر شده است. حال اگر مار غذا بخورد، طول آن دو برابر شده و چهار خانه از صفحه پر می شود. و بار آخر 8 صفحه از خانه پر خواهد شد. در این صورت اگر n = 3 باشد، 3 بار می تواند غذا بخورد.

نمونه ورودی و خروجی

snakefill(3) ➞ 3

snakefill(6) ➞ 5

snakefill(3)  ➞ 3
snakefill(6)  ➞ 5

هنوز پاسخی برای این تمرین ثبت نشده است

نظرات

*
*