import java.util.*;
public class Number839 {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
String text = in.nextLine();
System.out.println(text);
}
}
Шифровка текста
Первый раз такое задание , вообще не понимаю , как нужно делать . Единственное , что сообразил , это часть кода для ввода текста , а дальше очень надеюсь на вашу помощь . Может кто-то уже встречался с такого рода задачами ?
Код:
1. Строку разбить на части длиной в k
2. Сохранить отдельные части в чем либо удобном для вас.
3. Для каждой отдельной части: разбить строку по символьно и сохранить в отдельных переменных.Провести перестоновку согласно алгоритму.
4.Собрать отдельные части в целую строку.
P.S Скорее всего после реализации данного алгоритма его придеться оптимизировать в целях экономии ресурсов.
:)
Код:
String s; // твоя входная строка с символами
int[] exchange = { 2, 1, 3, 0 }; // перестановка 3,2,4,1, из каждого вычли 1
// здесь необходимо дополнить s, чтобы было кратно 4
StringBuilder sb = new StringBuilder(); // результат шифровки
for(int offset = 0; offset < s.length(); offset+=4) {
for(int i = 0; i < 4; i++) {
sb.append( s.charAt(offset+exchange) );
}
}
String encrypted = sb.toString(); // зашифрованная строка
int[] exchange = { 2, 1, 3, 0 }; // перестановка 3,2,4,1, из каждого вычли 1
// здесь необходимо дополнить s, чтобы было кратно 4
StringBuilder sb = new StringBuilder(); // результат шифровки
for(int offset = 0; offset < s.length(); offset+=4) {
for(int i = 0; i < 4; i++) {
sb.append( s.charAt(offset+exchange) );
}
}
String encrypted = sb.toString(); // зашифрованная строка
Код писал не проверяя, так что возможны ошибки, но общий ход мысли понятен.
Обратное преобразование аналогично.
Цитата: Gevorg
Единственное , что сообразил , это часть кода для ввода текста , а дальше очень надеюсь на вашу помощь .
Ахаха, это шедевр. :D:facepalm: