![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 24.09.2015
Сообщений: 1
|
![]()
Всем здравствуйте, есть задача: имеется строка( максимально 10^5 символов), надо вычислить количество циклических перестановок чтобы строка вернулась в прежнее состояние. ТО есть, есть строка str = " абвгдежзик",
и например число а=5, значит первая перестановка будет - str = "ежзикабвгд", а вторая - str = " абвгдежзик", то есть потребуется 2 циклических перестановки. Но всю сложность вызывает 10^5 символов, а переставить все символы это сойти сума, помогите, может существует какой-то алгоритм волшебный? ну или как можно в цикле это осуществить? Вот все что есть=( public class My { public static void main(String[] args) throws IOException { new My(); } My() throws IOException { int a = 3, a1=0; System.out.println("Введите строку: "); BufferedReader x = new BufferedReader(new InputStreamReader(System.in)); String str = x.readLine(); if ((str.length()%2==0 )&&(a%2==0)){ a1=str.length()/a; System.out.println(a1); } if ((str.length()%2!=0 )&&(a%2!=0)){ a1=str.length()/a; System.out.println(a1); } } } |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Циклическая перестановка столбцов в матрице(Delphi) | Ананан | Помощь студентам | 1 | 29.11.2013 07:31 |
c++ перестановка слов в строке | killeraleksana | Помощь студентам | 0 | 28.05.2012 17:39 |
Перестановка букв в строке на си | Brabus | Помощь студентам | 7 | 08.11.2010 22:58 |
перестановка символов | Бардак | Общие вопросы C/C++ | 2 | 15.03.2010 15:04 |
перестановка букв в строке | Андрей.12 | Помощь студентам | 0 | 15.12.2009 15:52 |