Loading [MathJax]/jax/output/HTML-CSS/jax.js

سوال 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) صحیح است