Поворот вправо элементов массива
Массив из там N (> 0> 0 > 0 ) целое число, помещение не допускается использование дополнительных массивов, каждый из целого числа к правому циклу M ( ≧ 0 \ GE 0 ≥ 0 ) положение,
Coming A данные по формуле ( A0A1- ⋯ СД. 1 ) превращают в ( АН-M-1A0A1 ⋯ ⋯ в АН-М-СД. 1 ) (последние М число циклов , чтобы переместить передовые M позиции). Если вам необходимо рассмотреть , сколько раз программа для переноса данных как можно меньше, чтобы , как разработать способ передвижения?
Входные форматы:
Каждый вход содержит тестовый пример, первую входную линию N (1 <= N <= 100) и M ( ≧ 0 ); второй входной линию N целых числа, разделенные пробела между ними.
Выходные форматы:
Поворот вправо выход в строке M целочисленной последовательности после бита, разделенных пробелом между ними, конец последовательности не может иметь дополнительное пространство.
Пример ввода:
6 2
1 2 3 4 5 6
Пример вывода:
5 6 1 2 3 4
Что Италия оценили: Предположим , что n=6
требуемая последовательность сдвига: 1 2 3 4 5 6
если m=2
, от 6 начинает видеть, до 6
перемещается на две позиции, 6 на позиции 2, аналогично 5 перемещается на две позиции, от 5 до позиции 1, и т .
рассмотрим некоторые частные случаи:
когда m=0
становится ясно , что исходная последовательность не имеет никакого движения ,
когда m=6
, чтобы двигаться 6 6 позиции, то результат будет еще исходная последовательность ,
когда m=7
, в настоящее время m>n
, по смыслу вопросов такая ситуация возможна, положить 6 7 позиций правое движение, мы обнаружили шесть переехал в положение 1.
Подводя итог проведенному анализу, можно сделать, количество мобильныхm = m % n
Проблемные идеи:
нет движения данных, но контролировать порядок печати, например, номер 6, [1 2 3 4 5 6 ], т = 2,
перемещаются два места справа от всех, мы можем первую печать 5 6
, оттиск1 2 3 4