المپدیا

دانش‌نامه‌ی المپیاد کامپیوتر ایران

ابزار کاربر

ابزار سایت


سوالات المپیاد:مرحله ی اول:دوره ی ۳۱:سوال ۸

سوال ۸

‫از‬ ‫منظور‬ $f(x)$‬ ‫‫باقی مانده عدد x در تقسیم بر ۲ است. برای مثال $f(15)=1$. فرض کنید دو عدد ‫صحیح‬ a و b را داریم. الگوریتم ‫زیر را اجرا می کنیم:

  • $1$. اگر دو عدد a و b برابر بودند، به مرحله ۶ برو.
  • $2$. اگر a > b، ان گاه ‫مقادیر‬ ‫‪a‬‬ ‫و‬ ‫‪b‬‬ را جابه جا کن.
  • $3$. ‫مقدار‬ a را برابر a+3 قرار بده.
  • $4$. مقدار b را برابر $b - f(b)$ قرار بده.
  • $5$. به مرحله ۱ برو.
  • $6$. پایان.

به چند طریق می توانیم اعداد آغازین الگوریتم (a, b) را با شرط $ 1 \leq a < b \leq 20 $ انتخاب کنیم، طوری که الگوریتم پس از تعدادی مرحله با پایان برسد؟

  1. ۸۵
  2. ۳۰
  3. ۶۰
  4. ۵۴
  5. ۵۷

راهنمایی

با حالت‌بندی روی زوج یا فرد بودن عدد بزرگتر می توانید بررسی کنید که اگر a بزرگتر از b شود، دو عدد هرگز برابر نخواهند شد و الگوریتم به پایان نمی‌رسد.


ابزار صفحه