Как найти большее число среди трех

В этой статье мы разберем, как найти наибольшее число из трех, а также как найти наибольшее число в целом списке чисел. Будем применять условия и встроенные функции max() и sort().

Как найти наибольшее число из трех введенных

Суть задачи: пользователем вводится три числа, и программа на Python должна найти наибольшее из них.

Допустим, у нас есть три числа: x, y и z. Пусть x = 2, y = 5 и z = 8. Очевидно, что наибольшее число из них это z. Давайте посмотрим, как мы сможем это определить при помощи Python. Разберем три способа.

Способ 1: условия и сравнения

def maximum(x, y, z):
    if (x >= y) and (x >= z):
        largest = x

    elif (y >= x) and (y >= z):
        largest = y

    else:
        largest = z

    return largest


print(maximum(2, 5, 8))


# Результат:
# 8

Два других способа связаны с применением встроенной функции max(), поэтому давайте познакомимся с ней.

Как работает встроенная функция max()

Функция max() в Python возвращает наибольшее число из переданных ей аргументов и имеет следующий синтаксис: max( x, y, z,..). Все параметры здесь являются числами. Примеры использования функции max():

print(max(70, 900, 3000))  # 3000

print(max(222, 45, 80))  # 222

print(max(70, 9040, 700))  # 9040

print(max(7022, 9020, 300))  # 9020

print(max(5555, 900, 6))  # 5555

Способ 2: использование функции max()

Функция max() прекрасно подходит для поиска наибольшего из трех чисел.

x = 2

y = 5

z = 8

print(max(x, y, z))


# Результат:
# 8

Метод max() также используется для нахождения наибольшего числа в списке.

Способ 3: помещение чисел в список и применение max()

Мы также можем найти наибольшее число при помощи списка. Сначала мы инициализируем три переменные x, y, z и добавляем их в список. Затем, используя функцию max(), мы можем получить наибольшее число из этого списка.

Например:

def maximum(x, y, z):
    list = [x, y, z]

    return max(list)


x, y, z = 2, 5, 8
print(maximum(x, y, z))


# Результат:
# 8

Чтобы найти наибольшее из некоторого количества чисел, можно сперва преобразовать имеющиеся числа в список (скажем, при помощи встроенной функции list()), а потом найти наибольшее число в списке. Далее у нас есть два пути: отсортировать список или применить уже известную нам функцию max().

Поиск наибольшего числа в списке при помощи функции sort()

Функция sort() по умолчанию сортирует массив в возрастающем порядке. Соответственно, последнее значение и будет наибольшим числом.

lis = [100, 43, 400, 63, 65]

lis.sort()

print("Largest number in the list is:", lis[-1])


# Результат:
# Largest number in the list is 400

Поиск наибольшего числа в списке при помощи функции max()

lis = [100, 43, 400, 63, 65]

print("Largest number in the list is:", max(lis))


# Результат:
# The largest number in the list is 400

Перевод статьи “Python Program to Find the Largest Among Three Numbers”.

Python task. Find the maximum number of three

Python

Python задачи

Вводятся три целых числа. Определить какое из них наибольшее.Пусть a, b, c – переменные, которым присваиваются введенные числа, а переменная m в конечном итоге должна будет содержать значение наибольшей переменной.Разбор задачи на Python

Алгоритм решения задачи

1) Сначала предположим, что переменная a содержит наибольшее значение. Присвоим его переменной m.

2) Если текущее значение m меньше, чем у b, то следует присвоить m значение b. Если это не так, то не изменять значение m.

3)Если текущее значение m меньше, чем у c, то присвоить m значение c. Иначе ничего не делать.

Алгоритм решения задачи Найти максимальное число из трех

Решение задачи с использованием Python

a = int(input(‘Введите число 1 -‘))
b = int(input(‘Введите число 2 -‘))
c = int(input(‘Введите число 3 -‘))

m = a
if m < b:
m = b
if m < c:
m = c

print(m)

Python

Python задачи
Все задачи на python

Репост статьи

13 июля 2022 г.

Комментарии могут оставлять только зарегестрированные пользователи!



Комментарии

Ваш комментарий будет первым !

Напиши программу, которая принимает натуральное число n, а затем n чисел от 1 до 100. выведи максимальное из них, которое заканчивается на 1. если такого числа нет, напечатай «нет».

Pascal задача.Даны натуральные числа n, m. Получите сумму m последних цифр числа n.

Dimonio

2 / 2 / 0

Регистрация: 17.12.2019

Сообщений: 47

1

Найти максимальное из трех заданных чисел

06.06.2020, 17:03. Показов 26041. Ответов 8

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

как сделать для 3 чисел ?math.max только для 2 чисел

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package com.company;
import java.util.Scanner;
 
public class Main{
public static void main(String [] args) {
    Scanner input = new Scanner(System.in);
    System.out.println("Введите первое число: ");
   double a =input.nextDouble();
   System.out.println("Введите второе число: ");
   double b =input.nextDouble();
   System.out.println("Введите третье число: ");
  double c =input.nextInt();  
  
  System.out.print(Math.max(a, b));
}
}



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

06.06.2020, 17:03

8

Эксперт Java

3638 / 2970 / 918

Регистрация: 05.07.2013

Сообщений: 14,220

06.06.2020, 17:12

2

Лучший ответ Сообщение было отмечено Catstail как решение

Решение

Сделать math.max два раза



1



Dimonio

2 / 2 / 0

Регистрация: 17.12.2019

Сообщений: 47

06.06.2020, 17:49

 [ТС]

3

а можно ли это сделать без math.max?

Добавлено через 29 минут
сделал так , вдруг кому понадобится

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package com.company;
import java.util.Scanner;
 
public class Main{
public static void main(String [] args) {
    Scanner input = new Scanner(System.in);
    System.out.println("Введите первое число: ");
   int a =input.nextInt();
   System.out.println("Введите второе число: ");
   int b =input.nextInt();
   System.out.println("Введите третье число: ");
  int c =input.nextInt(); 
 if(a>b)
 if(a>c) 
     System.out.println(a);
 else {
if(b>c)  
     System.out.println(b);
 }else {
     System.out.println(c);
 }
}}



0



Сисэстэдинчик

7 / 7 / 0

Регистрация: 24.04.2019

Сообщений: 13

13.06.2021, 16:12

4

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import java.util.Scanner;
 
 
class Main {
    
    
    public static void main(String[] args) {
        
        
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();
        int d = Math.max(a, b);
        
        System.out.println(Math.max(c, d));
        
        
        sc.close();
        
        
        
    }
    
    
}



0



Arsegg

3483 / 2090 / 560

Регистрация: 02.09.2015

Сообщений: 5,333

13.06.2021, 20:49

5

Лучший ответ Сообщение было отмечено Catstail как решение

Решение

Цитата
Сообщение от Dimonio
Посмотреть сообщение

как сделать для 3 чисел ?

Java
1
Stream.of(3, 4, 5).reduce(Math::max)



1



iSmokeJC

Am I evil? Yes, I am!

Эксперт PythonЭксперт Java

15976 / 8989 / 2603

Регистрация: 21.10.2017

Сообщений: 20,683

13.06.2021, 21:40

6

Arsegg, тогда уж

Java
1
IntStream.of(3, 4, 5).max().getAsInt()



2



0 / 0 / 0

Регистрация: 14.07.2021

Сообщений: 10

18.07.2021, 23:32

7

Нашел такую реализацию для трех чисел с использованием Math.max

Scanner in = new Scanner(System.in);
System.out.print(Math.max(in.nextInt(), Math.max(in.nextInt(), in.nextInt())));



0



Coffeini

583 / 310 / 115

Регистрация: 01.02.2020

Сообщений: 968

19.07.2021, 03:22

8

Dimonio, 1 100 1. Не работает почему-то…(
Мне кажется всё дело в том, что конструкция из if всё ещё слишком понятная. Поэтому special for you я написал еще менее понятную программу:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import java.util.Scanner;
 
public class Main {
    public static int nextInt(Scanner in, String message) {
        System.out.println(message);
        return in.nextInt();
    }
 
    public static String numeralToString(int i) {
        if (i < 0 || i > 9) {
            throw new IllegalArgumentException("i ∉ [0;9].");
        }
        return switch (i) {
            case 1 -> "первое";
            case 2 -> "второе";
            case 3 -> "третье";
            default -> throw new IllegalStateException("Unexpected value: " + i);
        };
    }
 
    public static int nextInt(Scanner in, int number) {
        return nextInt(in, String.format("Пожалуйста, будьте так добры, введите %s число:", numeralToString(number)));
    }
 
 
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int a, b, c, n = 1;
        System.out.println((a = nextInt(in, n++)) > (b = nextInt(in, n++)) ? a > (c = nextInt(in, n)) ? a : c : b > (c = nextInt(in, n)) ? b : c);
    }
}

Добавлено через 43 минуты
Хотя тернарные операторы слишком скучно:

Java
28
29
30
int n = 1, a, b, c, d;
//It just works
System.out.println((d = (a = nextInt(in, n++)) & (((b = nextInt(in, n++)) - a) >> 31) | b & (~(b - a) >> 31)) & (((c = nextInt(in, n)) - d) >> 31) | c & (~(c - d) >> 31));



0



Catstail

Модератор

Эксперт функциональных языков программированияЭксперт Python

35336 / 19436 / 4066

Регистрация: 12.02.2012

Сообщений: 32,466

Записей в блоге: 13

20.07.2021, 16:06

9

Иезуитская задача… Какой смысл отдельно искать максимум из трех? Из двух, а потом стандартным образом (с исп. массивов или стримов) – максимум любого конечного количества чисел. Но, наверное, преподавателю нужно что-то вроде:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
   if (a > b)
   {
         if (c > a)
            return c;
         else
            return a;
   }
   if (c > b)
   {
         if (c > a)
            return c;
         else
            return a;
   }
   if (b > a)
   {
         if (c > b)
            return c;
         else
            return b;
   }



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

20.07.2021, 16:06

Помогаю со студенческими работами здесь

Если среди трех заданных чисел имеется хотя бы одно четное, вывести максимальное из них, иначе минимальное
ребят,такая задачка
ввести 3-и числа,если среди них имеется хотябы одно четное вывести…

Найти максимальное из заданных чисел.
Найти максимальное из заданных чисел S, R, F и присвоить его значение переменной Z.

Найти максимальное четное из заданных чисел
Дано n натуральных чисел. Найти максимальное только четное из этих чисел
Заранее благодарю!

Найти минимальное и максимальное из заданных чисел
Описать процедуру Minmax(X, Y), записывающую в переменную X минимальное из значений X и Y, а в…

Найти максимальное из трех чисел
Задачу нашел, но при запуске .exe сразу же закрывается!
.model tiny ; модель…

Найти максимальное из трёх чисел
Помогите пожалуйста исправить ошибки:scratch:

1) Заданы три массива а(m), b(n) и c(q). Найти…

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

9

Перейти к содержанию

Найти максимальное число из трех

Просмотров 44.3к. Обновлено 29 октября 2021

Пусть a, b, c – переменные, которым присваиваются введенные числа, а переменная m в конечном итоге должна будет содержать значение наибольшей переменной. Тогда алгоритм программы сведется к следующему:

  1. Сначала предположим, что переменная a содержит наибольшее значение. Присвоим его переменной m.
  2. Если текущее значение m меньше, чем у b, то следует присвоить m значение b. Если это не так, то не изменять значение m.
  3. Если текущее значение m меньше, чем у c, то присвоить m значение c. Иначе ничего не делать.

Данную задачу можно решить и без использования четвертой переменной, однако программа будет логически сложнее:

  1. Если a больше b, то проверить больше ли a, чем c. Если это так, то максимальное число содержит переменная a. Если a больше b, но при этом меньше c, то максимальным является значение c.
  2. Иначе (когда a меньше b) сравнить значения b и c. Большее из них и есть максимальное.

Пример кода Pascal

максимальное среди трех чисел паскаль


// 1-й способ:

var
a,b,c,max: integer;
begin
readln(a,b,c);
max := a;
if max < b then max := b;
if max < c then max := c;
writeln(max);
end.

// 2-й способ:

var
a,b,c: integer;
begin
readln(a,b,c);
if a > b then
if a > c then writeln(a)
else writeln(c)
else
if b > c then writeln(b)
else writeln(c);
end.

Пример кода Язык Си


// 1-й вариант:

#include

main() {
int a,b,c,m;
scanf("%d%d%d",&a,&b,&c);
m = a;
if (m < b) m = b;
if (m < c) m = c;
printf("%dn", m);
}

// 2-й вариант:

#include

main() {
int a,b,c;
scanf("%d%d%d",&a,&b,&c);

if (a > b)
if (a > c) printf("%dn", a);
else printf("%dn", c);
else
if (b > c) printf("%dn", b);
else printf("%dn", c);
}

Пример кода Python

максимальное среди трех чисел Python


# 1-й вариант:

a = int(input())
b = int(input())
c = int(input())

m = a
if m < b:
m = b
if m < c:
m = c

print(m)

# 2-й вариант:

a = int(input())
b = int(input())
c = int(input())

if a > b:
if a > c:
print(a)
else:
print(c)
else:
if b > c:
print(b)
else:
print(c)

Пример кода КуМир

| 1-й вариант:

алг максимум из трех
нач
цел a, b, c, m
ввод a, b, c
m := a
если b > m то m := b все
если c > m то m := c все
вывод m
кон

| 2-й вариант:

алг максимум из трех
нач
цел a, b, c
ввод a, b, c
если a > b то
если a > c то
вывод a
иначе
вывод c
все
иначе
если b > c то
вывод b
иначе
вывод c
все
все
кон

Пример кода Basic-256


# 1-й вариант:

input a
input b
input c
max = a
if max < b then max = b
if max < c then max = c
print max

# 2-й вариант:

input a
input b
input c
if a > b then
if a > c then
print a
else
print c
endif
else
if b > c then
print b
else
print c
endif
endif

В этом примере вы научитесь находить наибольшее число среди трех чисел с помощью операторов if, if else и вложенных if else в C++.

Пользователю предлагается ввести три числа. Затем эта программа определяет наибольшее число среди трех введенных пользователем чисел и отображает его с соответствующим сообщением.

Эту программу в С++ можно написать более, чем одним способом.

#include <iostream>
using namespace std;

int main() {    
    float n1, n2, n3;

    cout << "Enter three numbers: ";
    cin >> n1 >> n2 >> n3;

    if(n1 >= n2  n1 >= n3)
        cout << "Largest number: " << n1;

    if(n2 >= n1  n2 >= n3)
        cout << "Largest number: " << n2;
    
    if(n3 >= n1  n3 >= n2)
        cout << "Largest number: " << n3;
  
    return 0;
}
Enter three numbers: 2.3
8.3
-4.2
Largest number: 8.3
#include <iostream>
using namespace std;

int main() {
    float n1, n2, n3;

    cout << "Enter three numbers: ";
    cin >> n1 >> n2 >> n3;

    if((n1 >= n2)  (n1 >= n3))
        cout << "Largest number: " << n1;
    else if ((n2 >= n1)  (n2 >= n3))
        cout << "Largest number: " << n2;
    else
        cout << "Largest number: " << n3;
    
    return 0;
}
Enter three numbers: 2.3
8.3
-4.2
Largest number: 8.3
#include <iostream>
using namespace std;

int main() {
    float n1, n2, n3;

    cout << "Enter three numbers: ";
    cin >> n1 >> n2 >> n3;

    if (n1 >= n2) {
        if (n1 >= n3)
            cout << "Largest number: " << n1;
        else
            cout << "Largest number: " << n3;
    }
    else {
        if (n2 >= n3)
            cout << "Largest number: " << n2;
        else
            cout << "Largest number: " << n3;
    }

    return 0;
}
Enter three numbers: 2.3
8.3
-4.2
Largest number: 8.3

Читайте также

  • 👉 Преобразование восьмеричного числа в десятичное и наоборот в C++
  • 👉 Преобразование двоичного числа в восьмеричное и наоборот в C++
  • 👉 Как перевернуть строку в C++

Добавить комментарий