Путь обучения Java 8

Поворот вправо элементов массива

Массив из там 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

#include <stdio.h>

Int основных () {
    Int я;
    Int N;
    ИНТ м;
    символ ч = «»; // переменные управления печатью, пространство по умолчанию
    ИНТ обр [100]; // индекс 0, данные не существует

    зсапЕ ( "% d", & п);
    зсапЕ ( "% d", & м);
    т = т% п; // убедитесь, что т <п

    // присвоить массив
    для (я = 1; г <= п; я ++) {
        зсапЕ ( "% d", & обр [I]);
    }

    // Далее дважды, каждый элемент управления заказа на печать
    // первая печать, начиная с обратным числом т
    для (я = п-т + 1; г <= п; я ++) {
        Е ( "% d", обр [я]);
    }

    // // вторая печать, от 1 до числа т предпоследнего
    для (я = 1; я <= нм; я ++) {
        если (я == (п - т)) {
            ч = '\ п';
        }
        Е ( "% d% С", обр [I], гл);
    }

    возвращать 0;
}

рекомендация

отwww.cnblogs.com/022414ls/p/11406958.html