سوال ۲۱
حافظهی سلطان ۲۰ خانه با شمارههای ۱ تا ۲۰ دارد. خانهی
i
ام حافظه را با
A[i]
نشان میدهیم. در ابتدا در تمام خانههای حافظه، عدد ۱ نوشته شده است. الگوریتم زیر را اجرا میکنیم:
مقدار ans را برابر ۰ قرار بده.
اگر مقدار تمام خانههای حافظهی سلطان برابر ۰ بود به خط ۱۵ برو.
مقدار ans را یک واحد زیاد کن.
مقدار index را برابر ۱ قرار بده.
اگر index>20 بود به خط ۲ برو.
اگر A[index]=0 بود به خط ۱۰ برو.
مقدار A[index] را برابر ۰ کن.
مقدار index را دو واحد زیاد کن.
به خط ۵ برو.
مقدار tmp را برابر ۰ قرار بده.
اگر index<20 بود، مقدار tmp را برابر A[index+1] قرار بده.
مقدار A[index] را برابر tmp قرار بده.
مقدار index را یک واحد زیاد کن.
به خط ۵ برو.
پایان
پس از پایان الگوریتم، مقدار ans چیست؟
۲۰
۱۰
۵
۳
الگوریتم هیچ گاه تمام نخواهد شد
پاسخ
گزینهی ۴ درست است.
در سری یکم مقادیر خانههای با شمارهی فرد برابر ۰ میشود. در سری دوم مقدار
A[1]
برابر ۱ شده و بقیهی خانهها ۰ میشوند. در سری سوم مقدار
A[1]
نیز ۰ شده و کار تمام میشود.