Processing math: 100%

سوال ۲۱

حافظه‌ی سلطان ۲۰ خانه با شماره‌های ۱ تا ۲۰ دارد. خانه‌ی i ام حافظه را با A[i] نشان می‌دهیم. در ابتدا در تمام خانه‌های حافظه، عدد ۱ نوشته شده است. الگوریتم زیر را اجرا می‌کنیم:

  1. مقدار ans را برابر ۰ قرار بده.
  2. اگر مقدار تمام خانه‌های حافظه‌ی سلطان برابر ۰ بود به خط ۱۵ برو.
  3. مقدار ans را یک واحد زیاد کن.
  4. مقدار index را برابر ۱ قرار بده.
  5. اگر index>20 بود به خط ۲ برو.
  6. اگر A[index]=0 بود به خط ۱۰ برو.
  7. مقدار A[index] را برابر ۰ کن.
  8. مقدار index را دو واحد زیاد کن.
  9. به خط ۵ برو.
  10. مقدار tmp را برابر ۰ قرار بده.
  11. اگر index<20 بود، مقدار tmp را برابر A[index+1] قرار بده.
  12. مقدار A[index] را برابر tmp قرار بده.
  13. مقدار index را یک واحد زیاد کن.
  14. به خط ۵ برو.
  15. پایان

پس از پایان الگوریتم، مقدار ans چیست؟

  1. ۲۰
  2. ۱۰
  3. ۵
  4. ۳
  5. الگوریتم هیچ‌ گاه تمام نخواهد شد

پاسخ

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

در سری یکم مقادیر خانه‌های با شماره‌ی فرد برابر ۰ می‌شود. در سری دوم مقدار A[1] برابر ۱ شده و بقیه‌ی خانه‌ها ۰ می‌شوند. در سری سوم مقدار A[1] نیز ۰ شده و کار تمام می‌شود.