سوال 16

یک الگوریتم بر روی متغیرهای $n$،$b$،$s$ و $r$ عملیات زیر را انجام می‌دهد:

  1. مقدار $n$ را به عنوان ورودی بگیر.
  2. مقدار $b$ و $s$ را برابر ۰ قرار بده.
  3. باقی‌مانده‌ی تقسیم $n$ بر ۲ را در $r$ بریز.
  4. اگر مقدار $r$ با مقدار $b$ متفاوت بود مقدار $s$ را یک واحد افزایش بده.
  5. مقدار $r$ را در $b$ بریز.
  6. مقدار خارج‌قسمت تقسیم $n$ بر ۲ را پیدا کن. این مقدار را در $n$ بریز.
  7. اگر مقدار $n$ بیش‌تر از ۰ بود به مرحله ۳ برو.
  8. مقدار $s$ را در خروجی چاپ کن.

اگر این الگوریتم را یک‌بار برای ورودی $n = ۱$، یک‌بار برای ورودی $n=۲$،… و یک‌بار برای ورودی $n = ۱۲۸$ اجرا کنیم، بیش‌ترین مقداری که در حین این ۱۲۸ اجرای مستقل در خروجی چاپ می‌شود چند است؟

  1. ۹
  2. ۶
  3. ۸
  4. ۷
  5. ۵

پاسخ

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