Задача: Циклический сдвиг массива или строки - 3 уникальных алгоритма
Псевдокод: массив циклический сдвиг
  1. /* Сдвигаем массив x[0..n]
  2. * на rotdist позиций влево
  3. */
  4.  
  5.  
  6. /* gcd - наибольший общий делитель
  7. * между n и rotdist
  8. */
  9. for i = 0 to gcd
  10. t = x[i]
  11. j = i
  12. while
  13. k = j + rotdist
  14.  
  15. if k >= n
  16. k -= n
  17.  
  18. if k == i
  19. break
  20.  
  21. x[j] = x[k]
  22. j = k
  23. x[j] = t