Module: برنامه نویسی پویا مبانی


Problem

3 /5


ما سنگریزه بازی می کنیم

Problem

روزی روزگاری در کودکی، همه ما از بازی «Pebbles» یا "پنج سنگریزه"، به قول کسی. امکان بازی در هر جایی وجود داشت. مرحله اول بازی به شرح زیر بود. هر پنج سنگریزه در مقابل آنها به زمین پرتاب می شوند. یکی از آنها انتخاب شد. این یک توپ نشانه است. این سنگریزه به هوا پرتاب می‌شود و در حین پرواز باید یکی از سنگریزه‌های باقی‌مانده روی زمین را برداشت و فرصت داشت تا با همان دست سنگریزه پرنده را بگیرد. سنگریزه برداشته شده کنار گذاشته می شود و عمل برای تمام سنگریزه های باقی مانده تکرار می شود.
در مراحل زیر، تعداد سنگریزه هایی که باید برداشته شوند افزایش می یابد. آخرین مرحله امتحان بود، زمانی که لازم بود تمام سنگریزه های جمع آوری شده را به هوا پرتاب کنید و با پشت دست بگیرید و سپس دوباره پرتاب کنید و با کف دست باز آنها را بگیرید. چند سنگریزه در پایان باقی مانده است، امتیازات زیادی کسب می کنید. نوبت به بازیکن بعدی می رسد که او نیز تمام مراحل را تکرار می کند. سپس دور جدیدی از بازی راه اندازی شد. برنده کسی بود که بیشترین امتیاز را برای همه راندها به دست آورد.
خیلی از بچه ها بازی را از همه جهات سخت کردند.
فرض کنید بچه ها تعداد بی نهایت سنگریزه روی زمین دارند. در پایان دور، آنها نیازی به گرفتن تمام سنگریزه ها در کف دست خود ندارند، بلکه دقیقاً به اندازه ای هستند که تعداد کل امتیازات آنها 1 یا دو یا سه برابر شود. قبل از شروع بازی، همه از قبل 1 امتیاز دارند. برنده کسی است که امتیاز N را سریعتر دریافت کند.
بیایید فرض کنیم که همه بازیکنان تجربه بازی کافی دارند و همیشه با تعداد سنگ هایی که نیاز دارند به امتحان می رسند (به طوری که می توانند تعداد امتیازات مورد نیاز را 1، دو یا سه برابر افزایش دهند).

حداقل تعداد راندهایی را که باید انجام دهید تعیین کنید تا امتیاز داده شده N را از بدست آورید.

ورودی

برنامه یک عدد را به عنوان ورودی دریافت می کند که از 10 تجاوز نمی کند6.


خروجی

شما باید یک عدد را چاپ کنید: کمترین تعداد عملیاتی که به دنبال آن هستید.

 

 

نمونه‌ها
<سر> <بدن>
# ورودی خروجی
1 1 0
2 5 3
3 32718 17