Условие задачи
Задан массив целых чисел длины $n$. Сдвинуть элементы массива вправо циклически на $1$ шаг.
Входные данные
В первой строке задано количество элементов массива $n$$(n ≤ 100)$ . Во второй строке заданы сами элементы массива, значение каждого из которых по модулю не превышает $100$.
Выходные данные
В одной строке вывести $n$ чисел — новые значения элементов массива.
Тесты
Входные данные | Выходные данные |
---|---|
4
|
4 1 2 3 |
6
|
1 3 3 3 3 3 |
2
|
2 1 |
Код программы
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
import java.io.BufferedReader; import java.io.InputStreamReader; class Main { public static void main (String[] args) throws java.lang.Exception { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); String[] params1 = bufferedReader.readLine().split(" "); int number; number = Integer.parseInt(params1[0]); int arr[] = new int[number]; String[] params2 = bufferedReader.readLine().split(" "); for (int i = 0; i < number; i++) { arr[i] = Integer.parseInt(params2[i]); } int last = arr[number - 1]; for (int i = number - 1; i > 0; i--) { arr[i] = arr[i - 1]; } arr[0] = last; for (int i = 0; i < number; i++) { System.out.print(arr[i]); System.out.print(' '); } } } |
Решение задачи
Создаем динамический массив, размером в
number элементов. Создаем переменную
last, в которой записан последний элемент массива. Создаём цикл, в котором меняется каждый элемент массива с предыдущим. Кладем на $1$ место (точнее $0$ место) бывший последний элемент массива.
Выводим массив.
Ссылки
Задача на сайте e-olymp
Код решения в Ideone