المپدیا

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

ابزار کاربر

ابزار سایت


سوالات المپیاد:مرحله ی اول:دوره ی ۷:سوال ۳۹

سوال ۳۹

آرایه‌ی ۶تایی $A$ به ترتیب با عددهای ۱ تا ۶ پر شده است. پس از اجرای الگوریتم زیر عدد ۶ در کدام خانه خواهد بود؟

  • به ازای $i$ از ۱ تا ۱۳۵۷ کارهای زیر را انجام بده:
    • به ازای $j$ از ۱ تا ۳ این کار را انجام بده:
      • اگر $A[j]$ از $A[j+3]$ بزرگ‌تر است٬ جایشان را عوض کن.
    • به ازای $j$ از ۱ تا ۵ این کار را انجام بده:
      • اگر $A[j]$ از $A[j+1]$ کوچک‌تر است٬ جایشان را عوض کن.
  1. ۲
  2. ۳
  3. ۴
  4. ۵
  5. ۶

پاسخ

گزینه (۴) درست است.

خروجی برنامه‌ بعد از مرحله ۱.۱.۱ و خروجی نهایی برای $i=1,2,3,4,5,6$ در جدول زیر آمده است:

همان‌طور که مشاهده می‌شود خروجی برنامه به ازای $i=2$ و $i=5$ با یک‌دیگر و همچنین خروجی برنامه به ازای $i=3$ و $i=6$ نیز با یک‌دیگر برابر می‌شوند.یعنی خروجی برنامه برای $(k\geq2)i=3k$ همان خروجی برنامه به ازای $i=3$ و خروجی برنامه‌ برای $(k\geq2)i=3k+1$ همان خروجی برنامه به ازای $i=4$ و بالاخره خروجی برنامه برای $(k\geq2)i=3k+2$ همان خروجی برنامه به ازای $i=2$ می‌باشد و چون $1375=3k+1$ پس خروجی برنامه به ازای $i=1375$ همان خروجی برنامه به ازای $i=4$ می‌باشد٬ فلذا عدد ۶ در خانه‌ی پنجم قرار دارد.


ابزار صفحه