المپدیا

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

ابزار کاربر

ابزار سایت


سوالات المپیاد:مرحله ی دوم:دوره ی ۲۰:سوال ۱۷

سوال 17

الگوریتم زیر مقدار متغیرهای $a_4،a_3،a_2،a_1$ را از ورودی می‌گیرد، از متغیرهای $m$ و $s$ استفاده می‌کند و مقدار $s$ را در خروجی چاپ می‌کند:

  1. مقدار $s$ را برابر ۰ قرار بده.
  2. مقدار $m$ را برابر مقدار $a_1$ قرار بده.
  3. کار زیر را یک‌بار برای $i=۲$، یک‌بار برای $i=۳$ ، و یک‌بار برای $i=۴$ انجام بده:
    • اگر مقدار $a_i$ از مقدار $m$ بیش‌تر است: مقدار $a_i$ را در $m$ بریز و هم‌چنین به مقدار $s$ یک واحد اضافه کن.
  4. مقدار $s$ را در خروجی چاپ کن.

مثلاً برای ورودی <۴، ۲، ۳، ۱> = <$a_4،a_3،a_2،a_1$> مقدار ۲ در خروجی نوشته می‌شود چرا که شرط سطر سوم تنها برای $i =۲$ و $i = ۴$ برقرار می‌شود.

می‌دانیم اعداد ۱ تا ۴ را می‌توان به ۲۴ = $۴ \times ۳ \times ۲ \times ۱$ = !۴ حالت مختلف در متغیرهای $a_۱$ تا $a_۴$ قرارداد.

فرض کنید برای تمام این ۲۴ حالت، برنامه‌ی بالا را اجرا می‌کنیم تا ۲۴ عدد در خروجی نوشته شود. حاصل جمع این ۲۴ عدد چند است؟

  1. ۳۲
  2. ۲۶
  3. ۴۸
  4. ۳۶
  5. ۳۰

پاسخ

گزینه $(2)$ صحیح است


ابزار صفحه