BufferedReader reader = new BufferedReader(new InputStreamReader (System.in));
String str1 = reader.readLine();
String str2 = reader.readLine();
String str3 = reader.readLine();
String str4 = reader.readLine();
int a = Integer.parseInt(str1);
int b = Integer.parseInt(str2);
int c = Integer.parseInt(str3);
int d = Integer.parseInt(str4);
int max = 0;
if (a >= b) max = a;
if (b >= c) max = b;
if (c >= d) max = c;
if (d >= max) max = d;
if(a == b || a == c || a == d)
System.out.println(max);
Тимур
6 уровень
Уже решил задачу, но потом дошло как сделать его короче. Вопрос - этот код бы прошел проверку на этом сайте?)
Обсуждается
Комментарии (10)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
IceBergMaster
30 января 2020, 23:20
Нет, он ничего не выводит на тест
0
Тимур
30 января 2020, 23:36
Может быть так?) Я тогда проверил только на равенство чисел но не на макс число)
BufferedReader reader = new BufferedReader(new InputStreamReader (System.in));
String str1 = reader.readLine();
String str2 = reader.readLine();
String str3 = reader.readLine();
String str4 = reader.readLine();
int a = Integer.parseInt(str1);
int b = Integer.parseInt(str2);
int c = Integer.parseInt(str3);
int d = Integer.parseInt(str4);
int max = 0;
if (a > b){ max = a; System.out.println(a);}
else if (b > c){max = b; System.out.println(b);}
else if (c > d){max = c; System.out.println(c);}
else if (d > max){max = d; System.out.println(d);}
else if(a == b || a == c || a == d) System.out.println(a);
0
IceBergMaster
30 января 2020, 23:39
Нет, как ты можешь выводить максимум, если проверил только a и b ?
0
Тимур
30 января 2020, 23:44
Так же все числа проверенны по очереди) else if (b > c), В студии работает, я каждое число по очереди проверил)
0
filin1800870
31 января 2020, 01:49
Тимур , попробуйте такой алгоритм :
В функции( методе ) проверяются два числа на максимум :
int max(int a, int b){
return a>b?a:b;
}
И теперь :
System.out.println(max(max(a,b),max(c,d)));
Сработает ?
0
IceBergMaster
31 января 2020, 08:15
"В студии работает" - что работает? протестируй
0
IceBergMaster
31 января 2020, 08:17
Берём первое число за максимум, и по очереди сравниваем с каждым, отлично работает, если правильно написать, сортировки здесь нет.
0
Тимур
31 января 2020, 10:24
Вроде работает по твоему алгоритму, но я не-знаю смог бы этот код пройти тута проверку так как я эту задачу уже решил повторно проверить не могу) Ну это короткий код, даже короче чем тот что я сдал на проверку)
String str1 = reader.readLine();
String str2 = reader.readLine();
String str3 = reader.readLine();
String str4 = reader.readLine();
int a = Integer.parseInt(str1);
int b = Integer.parseInt(str2);
int c = Integer.parseInt(str3);
int d = Integer.parseInt(str4);
max(a,b,c,d);
}
public static int max(int a, int b){
return a > b ? a:b;
}
public static void max(int a, int b, int c, int d){
System.out.println(max(max(a,b),max(c,d)));
}
0
IceBergMaster
31 января 2020, 10:29
0
Тимур
31 января 2020, 10:37
Ого это вообще короткий, спасибо)
0