KonkurStudy

سوال ۶۲ کنکور ارشد علوم کامپیوتر ۱۴۰۵

اهمیت
۰/۵

آرایه AA شامل nn عدد صحیح در مکان A[۱]⋯A[n−۱]A[۱]\cdots A[n-۱] و A[۰]A[۰] است. لازم است عناصر آرایه به‌صورت چرخه‌ای به‌اندازه kk مکان به سمت چپ منتقل شوند، که در آن ۰≤k≤n−۱۰ \le k \le n-۱ است. یک الگوریتم ناقص برای انجام این کار در زمان خطی، بدون استفاده از آرایه دیگر در زیر آورده شده است. الگوریتم را با پر کردن جاهای خالی کامل کنید. (فرض کنید متغیرها به‌طور مناسب تعریف شده‌اند.)

min = n; i = 0;
while (...){
    temp = A[i]; j = i;
    while (...){
        A[j] = ...
        j = (j + k) mod n;
        If (j < min) then
            min = j;
    }
    A[(n + i - k) mod n] = ...

    i = ...
}
#array-rotation#in-place#cyclic-replacement#juggling-algorithm#modular-arithmetic#gcd