3) Все 5-буквенные слова, составленные из букв А, К, Р, У, записаны в алфавитном порядке. Вот начало списка: 1. 2. К 3. Р 4. У 5. АААКА …… Какое количество слов находятся между словами РУКАА и УКАРА (включая эти слова)?
Если поставить в соответствие буквам А, К, Р, У цифры 0, 1, 2, 3 соответственно, список будет выглядеть так:
1. 00000
2. 00001
3. 00002
4. 00003
5. 00010
...
Получились записи чисел 0, 1, 2, 3, 4, ... в четверичной системе счисления.
РУКАА соответствует число 23100, УКАРА - число 31020. Мы знаем, что между числами с номерами X и Y должно быть Y - X + 1 чисел, так что нужно посчитать .
Разность я посчитаю в столбик сразу в четверичной системе счисления (во вложении), так что ответ будет
Telenkovav
06.03.2021
Class ArrayEven{ public static void main(String args[]){ java.util.Scanner in = new java.util.Scanner(System.in); long eArray[] = new long[1]; while((eArray[eArray.length-1] = in.nextLong())!=-1){ long nArray[] = new long[eArray.length+1]; for(int nCell = 0; nCell<eArray.length; nCell++)nArray[nCell]=eArray[nCell]; eArray = nArray; } eArrayCell: for(int cCell = 0; cCell<eArray.length-1; cCell++){ if(eArray[cCell]%2==0)continue; else for(int eCell = cCell+1; eCell<eArray.length-1; eCell++) if(eArray[eCell]%2==0){ eArray[eArray.length-1]=eArray[cCell]; eArray[cCell]=eArray[eCell]; eArray[eCell]=eArray[eArray.length-1]; continue eArrayCell; } break; } for(int cCell = 0; cCell<eArray.length-1; cCell++)System.out.print(eArray[cCell]+" "); } }
sveremeev816
06.03.2021
Class ArrayEven{ public static void main(String args[]){ java.util.Scanner in = new java.util.Scanner(System.in); long eArray[] = new long[1]; while((eArray[eArray.length-1] = in.nextLong())!=-1){ long nArray[] = new long[eArray.length+1]; for(int nCell = 0; nCell<eArray.length; nCell++)nArray[nCell]=eArray[nCell]; eArray = nArray; } eArrayCell: for(int cCell = 0; cCell<eArray.length-1; cCell++){ if(eArray[cCell]%2==1)continue; else for(int eCell = cCell+1; eCell<eArray.length-1; eCell++) if(eArray[eCell]%2==1){ eArray[eArray.length-1]=eArray[cCell]; eArray[cCell]=eArray[eCell]; eArray[eCell]=eArray[eArray.length-1]; continue eArrayCell; } break; } for(int cCell = 0; cCell<eArray.length-1; cCell++)System.out.print(eArray[cCell]+" "); } }
121
Объяснение:
Если поставить в соответствие буквам А, К, Р, У цифры 0, 1, 2, 3 соответственно, список будет выглядеть так:
1. 00000
2. 00001
3. 00002
4. 00003
5. 00010
...
Получились записи чисел 0, 1, 2, 3, 4, ... в четверичной системе счисления.
РУКАА соответствует число 23100, УКАРА - число 31020. Мы знаем, что между числами с номерами X и Y должно быть Y - X + 1 чисел, так что нужно посчитать
.
Разность я посчитаю в столбик сразу в четверичной системе счисления (во вложении), так что ответ будет