Переводим X и Y в двоичную систему - это все же два числа, а не четыре, как если бы из двоичной переводить Z. Цифры шестнадцатиричного X расписываем по двоичным тетрадам, а восьмеричного Y - по триадам. X = B7₁₆ = 1011 0111₂ = 10110111 Y = 271₈ = 010 111 001₂ = 10111001 Требуется найти Z, которое находится между X и Y. Запишем в столбик, выравняв по младшему разряду, сначала X, потом варианты Z и в конце Y. То, что не будет попадать в интервал между числами в первой и последней строках, потом вычеркнем. 10110111 10111001 - равно нижнему, вычеркнем 10011000 - меньше верхнего, вычеркнем 10111000 - подходит - это ответ 10110111 - равно верхнему, вычеркнем 10111001
X = B7₁₆ = 1011 0111₂ = 10110111
Y = 271₈ = 010 111 001₂ = 10111001
Требуется найти Z, которое находится между X и Y.
Запишем в столбик, выравняв по младшему разряду, сначала X, потом варианты Z и в конце Y. То, что не будет попадать в интервал между числами в первой и последней строках, потом вычеркнем.
10110111
10111001 - равно нижнему, вычеркнем
10011000 - меньше верхнего, вычеркнем
10111000 - подходит - это ответ
10110111 - равно верхнему, вычеркнем
10111001
ответ: 3) 10111000₂
public static void main(String args[]){
java.util.Scanner in = new java.util.Scanner(System.in);
String string = in.nextLine(); char chars[] = new char[4];
chars[0] = in.nextLine().charAt(0); chars[2] = in.nextLine().charAt(0);
for(int sChar = 0; sChar<string.length(); sChar++)
if(string.charAt(sChar)==chars[0])chars[1]++;
else if(string.charAt(sChar)==chars[2])chars[3]++;
System.out.print("\n"+(chars[1]==chars[3]?chars[0]+""+chars[2]:chars[1]>chars[3]?chars[0]:chars[2]));
}
}