Вопрос задан 04.01.2026 в 19:43. Предмет Информатика. Спрашивает Любицкая Дарья.

Написать программу, которая по заданным четырем значениям находит max(min(a,b), min(c,d))

Перейти к ответам

Ответы на вопрос

Отвечает Марамчин Вова.

Вот самый простой способ: сначала берём минимум в каждой паре (a с b и c с d), а затем максимум из этих двух минимумов.

Идея

  • x1=min(a,b)x_1 = \min(a,b)

  • x2=min(c,d)x_2 = \min(c,d)

  • Ответ: max(x1,x2)\max(x_1, x_2)

Python (числа можно вводить через пробел)

python
a, b, c, d = map(float, input().split()) print(max(min(a, b), min(c, d)))

Python без встроенных min/max

python
def my_min(x, y): return x if x < y else y

def my_max(x, y): return x if x > y else y

a, b, c, d = map(float, input().split()) print(my_max(my_min(a, b), my_min(c, d)))

C++

cpp
#include using namespace std;

int main() { double a, b, c, d; if (!(cin >> a >> b >> c >> d)) return 0; cout << max(min(a, b), min(c, d)); return 0; }

Java

java
import java.util.*;

public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); double a = sc.nextDouble(), b = sc.nextDouble(), c = sc.nextDouble(), d = sc.nextDouble(); double res = Math.max(Math.min(a, b), Math.min(c, d)); System.out.print(res); } }

C#

csharp
using System;

class Program { static void Main() { var parts = Console.ReadLine().Split(); double a = double.Parse(parts[0]); double b = double.Parse(parts[1]); double c = double.Parse(parts[2]); double d = double.Parse(parts[3]); double res = Math.Max(Math.Min(a, b), Math.Min(c, d)); Console.Write(res); } }

Все варианты делают ровно то, что требуется: находят max(min(a,b), min(c,d)). Ввод можно адаптировать под целые числа, если нужно (int/long long вместо double).

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Информатика 14.10.2025 04:57 34 Бердина Раиса
Информатика 13.10.2025 21:53 31 Кандрина Лера
Задать вопрос