Как-то средненько

  • 8
  • Недоступна
В жизни нам часто приходится идти на компромисс, искать некую «золотую середину»: так легче уживаться друг с другом и решать проблемы. Давайте найдем середину, а точнее — среднее число среди троицы целых чисел типа int. Ну а если станется так, что все три числа будут одинаковые, можем вывести любое из них: всё равно никто не заметит.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (314)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Dim 5 уровень, Житомир
вчера, 13:51
а так нормально?
System.out.println((a >= b && a >= c ? Math.max(b, c) : (b >= c) ? Math.max(a, c) : Math.max(a, b)));
Асет Тажибаев 6 уровень
23 февраля, 07:23
Похоже требование использовать новые операторы что изучали решил через переменную на которую ссылается вся логика
Roma Daujotas 6 уровень
22 февраля, 20:29
Здравтсвуйте, задачу решил, но все равно не могу понять логику до конца. Cперва я нашел максимальное число с помощью Math.max, дале нашел миннимальное число с помощью Math.min. Третим шагом я создал переменную mid что-бы найти среднее число. int mid = (a + b + c) - max - min; и вывел это все на экран System.out.println(mid); Вопрос у меня возникает на последнем пункте ТЗ. " Если два числа из трех равны, вывести любое из двух." Скажем что я ввел числа 6, 6, 3. на выходе получится 6 и вот тут я не могу понять почему, если взять мою переменную int mid = (a + b + c) - max - min; то это будет выглядить так. int mid = (6 + 6 + 3) - 6 - 6; отсаться должна 3, но компилятор выводит 6. Подскажите плз почему так происходит.
Dim 5 уровень, Житомир
вчера, 13:49
так просят вывести любое из 2х равных чисел. и в условии не просят выводить среднее число от суммы, а просят вывести среднее число из введенных трех
Дмитрий 14 уровень, Москва
8 февраля, 12:34
System.out.println(sum - max - min);
Domingo el Sumeri 9 уровень, Екатеринбург
7 февраля, 15:49
System.out.println(n1 == n2 || n1 == n3 ? n1 : n2 == n3 ? n2 : n1 > n2 && n1 > n3 ? (n2 > n3 ? n2 : n3) :
                       n2 > n1 && n2 > n3 ? (n1 > n3 ? n1 : n3) : n1 > n2 ? n1 : n2);
как то так)
Тимур Акматов 9 уровень
16 февраля, 16:50
можно и так, но крайне нежелательно!
Konstantyn Koroban 9 уровень, Краков
4 февраля, 20:30
System.out.println(Math.max(Math.min(num1, num2), Math.min(Math.max(num1, num2), num3)));
Anonymous #2288933 8 уровень
31 января, 15:07
Ну, у меня получилась такая жесть. Не повторяйте моей ошибки. Intellij еще ругается, что несколько раз условие всегда true.
package com.javarush.task.task04.task0441;

import java.io.BufferedReader;
import java.io.InputStreamReader;

/*
Как-то средненько
*/

public class Solution {
    public static void main(String[] args) throws Exception {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        int a = Integer.parseInt(reader.readLine());
        int b = Integer.parseInt(reader.readLine());
        int c = Integer.parseInt(reader.readLine());
        if (a==b&b!=c||b==c&c!=a||a==c&a!=b) {
            if (a==b) {
                System.out.println(b);
            }else if (b==c) {
                System.out.println(b);
            }else if (a==c) {
                System.out.println(a);
            }
        } else if (a>b&&b>c) {
            System.out.println(b);
            } else if (a>b&&b<c) {
            if (a>c) {
                System.out.println(c);
            } else if (a<c) {
                System.out.println(a);
            }
        } else if (a<b&&b>c) {
            if (a>c) {
                System.out.println(a);
            } else
                System.out.println(c);
        } else if (a<b&&b<c) {

                System.out.println(b);

        }
        else if (a==b&&b==c) {
            System.out.println(a);
        }

    }
}
P.S. Извините за спам ленты😬
Dmitry economic security
19 января, 20:02
эта задача уже была, посмотрите как вы её делали 20 задач назад: package com.javarush.task.task04.task0420; - повторение мать учения. Причем валидатор даёт правильное решение именно как мы проходили это 20 задач назад, никаких новых решений нет, решение через if и if else, так что забейте на гугл, и повторите пройденный материал. если (a>=b И a<=c ИЛИ a<=b И a>=c){ среднее = a; }иначе если (b>=a И b<=c ИЛИ b<=a И b>=c){ среднее = b; }иначе { среднее = c; } System.out.println(среднее);
Rodion 11 уровень, Мюнхен
15 января, 20:58
Сделал просто в одно действие через макс и мин: сумма 3 чисел минус сумма максимального и минимального. Хотя можно было и через циклы.
13 января, 18:56
оставлю здесь
import java.util.Arrays;