سلام دوست عزیز😃👋

به «مسابقه استخدامی به‌پرداخت ملت» خوش آمدی!

هرگونه ارتباط با سایر شرکت‌کنندگان و یا استفاده از ابزارهای تولید کد، مثل chatGPT و... در مسابقات کوئرا ممنوع است و بعد از شناسایی از لیست شرکت‌کنندگان مسابقه حذف می‌شوید.

لینک‌های مفید برای شرکت در مسابقه:

سوالات و مشکلات خودتان را می‌توانید از طریق قسمت «سوال بپرسید» با ما در میان بگذارید.

  • چهار سوال اول مسابقه الگوریتمی است و سوال پنجم مهارت شما را در پیاده‌سازی می‌سنجد.
  • در سوالات الگوریتمی تنها در صورتی نمره‌ی آن را می‌گیرید که همه‌ی تست‌ها را بدون خطا پاسخ دهید و در غیر این‌صورت هیچ نمره‌ای از آن دریافت نمی‌کنید.
  • حل همه‌ی سوالات با زبان برنامه‌نویسی C++ یا Java برای استخدام در به‌پرداخت الزامی است.
  • پیشنهاد می‌کنیم برای افزایش سرعت برنامه‌ها، اگر با زبان پایتون سوالات را حل می‌کنید از Pypy 3 به‌جای Python 3.12 استفاده کنید.

موفق باشید و بهتون خوش بگذره 😉✌

لیست سوالات را می‌توانید از نوار سمت راست این صفحه مشاهده کنید.

استوری پوینت


  • محدودیت زمان: ۱ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

گلابی، یک مدیر فنی منظم و علاقه‌مند به بهینه‌سازی مدیریت تسک‌هاست. او همواره به دنبال روش‌هایی است تا کارها را به شکل بهتر سازماندهی کند و زمان تیمش را به صورت موثرتری مدیریت نماید.

برای مقایسه پیچیدگی تسک‌ها، از واحدی به نام «استوری پوینت» استفاده می‌شود. هرچه استوری پوینت یک تسک بیشتر باشد، آن تسک پیچیده‌تر یا پرریسک‌تر خواهد بود.

برای ساده‌تر شدن تخمین تعداد استوری پوینت‌های یک تسک فنی، معمولاً از اعداد دنباله فیبوناچی استفاده می‌شود. این دنباله با اعداد ۱ و ۲ شروع شده و هر عدد برابر مجموع دو عدد قبلی است. به این ترتیب دنباله به صورت ۱، ۲، ۳، ۵، ۸، ۱۳، ۲۱ و... ادامه می‌یابد. استفاده از این دنباله به دلیل افزایش تدریجی و منطقی آن، در تخمین پیچیدگی تسک‌ها بسیار کارآمد است.

گلابی در جلسات برنامه‌ریزی تیم فنی، درباره تعداد استوری پوینت هر تسک تصمیم‌گیری می‌کند. او می‌داند که برای برگزاری یک مسابقه برنامه‌نویسی، nn استوری پوینت نیاز است و هدفش این است که این مقدار را به کمترین تعداد تسک ممکن تقسیم کند، به طوری که تعداد استوری پوینت هر تسک یکی از اعداد دنباله فیبوناچی باشد. گلابی امیدوار است با این روش برنامه‌ریزی ساده‌تر و کارآمدتری انجام دهد.

ورودی🔗

در تنها خط ورودی، عدد صحیح nn داده می‌شود که تعداد استوری پوینت‌های مورد نیاز برای مسابقه برنامه‌نویسی را مشخص می‌کند.

1n1091 \le n \le 10^9

خروجی🔗

در تنها خط خروجی، کمترین تعداد تسک‌های ممکن را چاپ کنید.

مثال‌ها🔗

ورودی نمونه ۱🔗

4
Plain text

خروجی نمونه ۱🔗

2
Plain text

عدد 44 در دنباله فیبوناچی نیست، اما می‌توان آن را به دو تسک 33 و 11 تقسیم کرد که هر دو جزو دنباله فیبوناچی هستند.

ورودی نمونه ۲🔗

20
Plain text

خروجی نمونه ۲🔗

3
Plain text

عدد 2020 را می‌توان به سه تسک 1313، 55 و 22 تقسیم کرد که همگی در دنباله فیبوناچی قرار دارند.

اشتباهات متداول
چک کردن شرایط ورودی مسئله

نیازی نیست چک کنید شرایط گفته شده در ورودی برقرار است یا نه. توضیحات محدودیت‌ها فقط برای آگاهی شما درباره‌ی تست‌ها و محدودیت‌های مسئله است و قطعاً در ورودی‌های داده شده به برنامه‌ی شما رعایت می‌شوند. پس نیازی نیست بنویسید:

if 1 <= n <= 100:
    # answer of problem
else:
    # print('invalid input')
Python
ابتدا همه‌ی ورودی را گرفتن و در نهایت همه‌ی خروجی را چاپ کردن

شما می‌توانید لابه‌لای دریافت ورودی، خروجی دهید. پس نیازی نیست ابتدا همه‌ی ورودی‌ها را دریافت کنید و در نهایت همه‌ی خروجی‌ها را چاپ کنید. مخصوصاً برای سوالاتی که باید به چندین سوال پاسخ دهید، می‌توانید دو قسمت ورودی و خروجی را کاملاً مستقل در نظر بگیرید و مطمئن باشید تداخلی پیش نمی‌آید.

چاپ کردن موارد اضافه برای دریافت ورودی

لطفاً از چاپ کردن موارد اضافه مثل please enter a number برای دریافت ورودی پرهیز کنید. برای مثال در زبان پایتون نباید بنویسید:

input('please enter:')
Python
چند فایلی کد زدن

برای زبان‌هایی مثل جاوا نباید در بالای کد شما آدرس پکیج داده شود. برای مثال در بالای کد خود نباید بنویسید:

package ir.quera.contest;
Java
استفاده از چند Scanner برای دریافت ورودی

در زبان جاوا، باید فقط یک شئ از جنس Scanner تعریف کنید و همه‌ی ورودی‌ها را با آن دریافت کنید.

نام فایل ارسالی در جاوا

در زبان جاوا، باید نام فایل ارسالی شما با نام کلاسی که تابع main در آن قرار دارد یکسان باشد، برای مثال اگر نام کلاس شما Question1 است، نام فایل ارسالی شما باید Question1.java باشد.

نحوه‌ی دریافت ورودی و چاپ کردن خروجی

برای آشنایی بیشتر برای نحوه‌ی دریافت ورودی و چاپ کردن خروجی این لینک را مطالعه کنید.

ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.