Как найти самую большую цифру числа

Improve Article

Save Article

Like Article

  • Read
  • Discuss
  • Improve Article

    Save Article

    Like Article

    Given a number N. The task is to find the largest and the smallest digit of the number.
    Examples :

    Input : N = 2346 
    Output : 6 2 
    6 is the largest digit and 2 is smallest
    Input : N = 5 
    Output : 5 5

    Approach: An efficient approach is to find all digits in the given number and find the largest and the smallest digit. 

    C++

    #include <bits/stdc++.h>

    using namespace std;

    void Digits(int n)

    {

        int largest = 0;

        int smallest = 9;

        while (n) {

            int r = n % 10;

            largest = max(r, largest);

            smallest = min(r, smallest);

            n = n / 10;

        }

        cout << largest << " " << smallest;

    }

    int main()

    {

        int n = 2346;

        Digits(n);

        return 0;

    }

    Java

    import java.util.*;

    import java.lang.*;

    import java.io.*;

    class Gfg

    {

    static void Digits(int n)

    {

        int largest = 0;

        int smallest = 9;

        while(n != 0)

        {

            int r = n % 10;

            largest = Math.max(r, largest);

            smallest = Math.min(r, smallest);

            n = n / 10;

        }

        System.out.println(largest + " " + smallest);

    }

    public static void main (String[] args) throws java.lang.Exception

    {

        int n = 2346;

        Digits(n);

    }

    }

    Python3

    def Digits(n):

        largest = 0

        smallest = 9

        while (n):

            r = n % 10

            largest = max(r, largest)

            smallest = min(r, smallest)

            n = n // 10

        print(largest,smallest)

    n = 2346

    Digits(n)

    C#

    using System;

    class GFG

    {

    static void Digits(int n)

    {

        int largest = 0;

        int smallest = 9;

        while(n != 0)

        {

            int r = n % 10;

            largest = Math.Max(r, largest);

            smallest = Math.Min(r, smallest);

            n = n / 10;

        }

        Console.WriteLine(largest + " " + smallest);

    }

    public static void Main (String[] args)

    {

        int n = 2346;

        Digits(n);

    }

    }

    Javascript

    <script>

    function Digits(n)

    {

        let largest = 0;

        let smallest = 9;

        while (n) {

            let r = n % 10;

            largest = Math.max(r, largest);

            smallest = Math.min(r, smallest);

            n = parseInt(n / 10);

        }

        document.write(largest + " " + smallest);

    }

        let n = 2346;

        Digits(n);

    </script>

    Time Complexity: O(log(n)), where n is the given number
    Auxiliary Space: O(1)

    Approach : Using str(),min(),max()

    C++

    #include <bits/stdc++.h>

    using namespace std;

    int main()

    {

        int n = 2346;

        string s = to_string(n);

        cout << *(max_element(s.begin(), s.end())) << " ";

        cout << *(min_element(s.begin(), s.end())) << endl;

    }

    Java

    import java.util.stream.Collectors.*;

    import java.util.stream.*;

    import java.util.*;

    class GFG

    {

      public static void main(String[] args)

      {

        int n = 2346;

        String s1 = String.valueOf(n);

        List<Character> s = s1.chars().mapToObj(c -> (char) c).collect(Collectors.toList());

        Comparator<Character> comparator = Comparator.comparing( Character::valueOf );

        Character mins = s.stream().min(comparator).get();

        Character maxs = s.stream().max(comparator).get();

        System.out.println(maxs + " " + mins);

      }

    }

    Python3

    n=2346

    s=str(n)

    print(max(s),end=" ")

    print(min(s))

    C#

    using System;

    using System.Linq;

    using System.Collections.Generic;

    class GFG

    {

        public static void Main(string[] args)

        {

            int n = 2346;

            char[] s = Convert.ToString(n).ToCharArray();

            Console.WriteLine(s.Max() + " " + s.Min());

        }

    }

    Javascript

    let n=2346

    let s = ("" + n).split("")

    console.log(s[s.length - 1])

    console.log(s[0])

    Time Complexity: O(1)

    Auxiliary Space: O(1)

    Approach#4: Using reduce

    Convert the input number to a list of integers (digits). Use the reduce function to apply a lambda function that compares two digits at a time and returns the smallest or largest.

    Algorithm

    1. Convert the input number to a list of integers using map and list.
    2. Use reduce function from functools module to find the smallest and largest digit.
    3. In the lambda function passed to reduce, the two arguments x and y represent two adjacent digits in the list. The lambda function compares these two digits and returns the smallest or largest based on the condition.
    4. The reduce function applies this lambda function to the entire list of digits, returning the smallest and largest digit.

    Python3

    from functools import reduce

    n = '2346'

    digits = list(map(int, n))

    smallest = reduce(lambda x, y: x if x < y else y, digits)

    largest = reduce(lambda x, y: x if x > y else y, digits)

    print("Smallest digit:", smallest)

    print("Largest digit:", largest)

    Output

    Smallest digit: 2
    Largest digit: 6

    Time complexity: O(n)
    Auxiliary Space: O(n)

    Last Updated :
    02 May, 2023

    Like Article

    Save Article

    def func(num):
        max = 0
        for i in range(num):
            if i > max:
                max = i
        return (max)
    
    
    print(func(67124))
    

    strawdog's user avatar

    strawdog

    23.5k4 золотых знака19 серебряных знаков35 бронзовых знаков

    задан 12 фев 2021 в 17:39

    Дарья Лазарева's user avatar

    2

    Можно использовать функцию max для строкового представления числа.

    Пример:

    def f(num):
        return int(max(str(num)))
    

    Цифры будут сравниваться на основе ASCII кода их символьного представления. Это возможно, потому что их коды находятся последовательно от меньшего к большему (48-57).

    ответ дан 12 фев 2021 в 17:46

    nomnoms12's user avatar

    nomnoms12nomnoms12

    18.3k5 золотых знаков23 серебряных знака47 бронзовых знаков

    Можно привести число к строке, чтобы на каждой итерации получить отдельную цифру.

    Пример:

    def f(num):
        m = 0
        for n in str(num):
            if int(n) > m:
                m = int(n)
        return m
    

    ответ дан 12 фев 2021 в 17:41

    nomnoms12's user avatar

    nomnoms12nomnoms12

    18.3k5 золотых знаков23 серебряных знака47 бронзовых знаков

    1

    способ 1:

    def f(num):
        return max(map(int, str(num)))
    

    способ 2:

    def f(num):
        res = 0
        while num != 0:
          res = max(res, num % 10)
          num //= 10
        return res
    

    способ 3:

    def f(num):
      return int(sorted(str(num))[-1])
    

    способ 3.5:

    def f(num):
      return int(list(set(str(num)))[-1])
    

    ответ дан 12 фев 2021 в 17:46

    Zhihar's user avatar

    ZhiharZhihar

    36.9k4 золотых знака25 серебряных знаков67 бронзовых знаков

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

    Найти наибольшую цифру натурального числа

    Просмотров 33.9к. Обновлено 19 апреля 2022

    С клавиатуры вводится натуральное число. Найти его наибольшую цифру.

    Например, введено число 764580. Наибольшая цифра в нем 8.

    Пусть переменная a — заданное число, переменная m — максимальная цифра.

    Предположим, что последняя цифра числа и есть максимальная. Извлечем ее с помощью операции нахождения остатка при делении на 10.

    Поскольку последнюю цифру мы уже учли, то избавимся от нее с помощью операции деления нацело на 10.

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

    Также в цикле надо избавляться от последней, уже учтенной, цифры. Цикл завершает свою работу, когда переменная a станет равной нулю, т. е. он работает, пока переменная a больше нуля.

    В конце программы выведем значение m на экран. Это и будет наибольшая цифра исходного числа.

    Pascal


    var
    a: longint;
    m: byte;
    begin
    readln(a);
    m := a mod 10;
    a := a div 10;
    while a > 0 do begin
    if a mod 10 > m then
    m := a mod 10;
    a := a div 10;
    end;
    writeln(m);
    end.

    Язык Си


    #include < stdio.h>
    main() {
    int a, m;
    scanf("%d",&a);
    m = a%10;
    a = a/10;
    while (a > 0) {
    if (a%10 > m)
    m = a%10;
    a = a/10;
    }
    printf("%dn", m);
    }

    Python

    найти максимальную цифру числа python


    a = int(input())
    m = a%10
    a = a//10
    while a > 0:
    if a%10 > m:
    m = a%10
    a = a//10
    print(m)

    КуМир


    алг макс цифра числа
    нач
    цел a, m
    ввод a
    m := mod(a,10)
    a := div(a,10)
    нц пока a > 0
    если mod(a,10) > m то
    m := mod(a,10)
    все
    a := div(a,10)
    кц
    вывод m
    кон

    Basic-256


    input a
    m = a%10
    a = a10
    while a > 0
    if a%10 > m then m = a%10
    a = a10
    endwhile
    print m

    На чтение 3 мин Просмотров 1.4к. Опубликовано

    Python предлагает множество встроенных функций и инструментов для обработки чисел и строк. В этой статье мы рассмотрим несколько способов нахождения максимальной цифры в числе в Python. Если вы хотите узнать, как можно легко и быстро находить максимальную цифру в числе, то эта статья для вас.

    Содержание

    1. Использование цикла for и преобразование числа в строку для нахождения максимальной цифры
    2. Использование функции max() для нахождения максимальной цифры
    3. Нахождения максимальной цифры числа с помощью арифметические операций

    Использование цикла for и преобразование числа в строку для нахождения максимальной цифры

    Использование цикла for является одним из способов нахождения максимальной цифры в числе. Для этого сначала число преобразуется в строку, а затем в цикле for каждый символ строки проверяется на то, является ли он цифрой. Если это так, символ сравнивается с текущей максимальной цифрой, и если он больше, то он становится новой максимальной цифрой.

    num = 456378
    max_digit = 0
    
    for digit in str(num):
        if digit.isdigit() and int(digit) > max_digit:
            max_digit = int(digit)
    
    print("Максимальная цифра в числе", num, "равна", max_digit)

    В этом примере мы определяем число num равным 456378 и инициализируем переменную max_digit нулем. Затем мы преобразуем num в строку и проходим циклом for по каждому символу строки. Если текущий символ является цифрой и больше текущей максимальной цифры, мы обновляем значение max_digit. В конце мы выводим сообщение о максимальной цифре в числе.

    Этот метод работает для любого положительного целого числа, но имейте в виду, что он не учитывает знаки плюса или минуса или десятичные точки, которые могут присутствовать в числе.

    Если вы работаете с отрицательными числами, то сначала необходимо взять модуль числа с помощью функции abs():

    num = -123456789
    num = abs(num)
    max_digit = 0
    
    for digit in str(num):
        if int(digit) > max_digit:
            max_digit = int(digit)
    
    print("Максимальная цифра в числе", num, "равна", max_digit)

    Использование функции max() для нахождения максимальной цифры

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

    number = 12345
    max_digit = max(str(number))
    print("Максимальная цифра числа", number, ":", max_digit)

    В этом примере мы сначала преобразовали число в строку с помощью str(number), а затем нашли максимальное значение в этой строке с помощью max(). Затем мы вывели максимальную цифру с помощью функции print().

    Этот подход короче и проще, чем использование цикла, который мы рассмотрели в предыдущем разделе.

    Нахождения максимальной цифры числа с помощью арифметические операций

    Для нахождения максимальной цифры числа с помощью арифметических операций можно использовать следующий алгоритм:

    1. Инициализировать переменную max_digit со значением 0.
    2. Используя цикл while, получить остаток от деления числа на 10.
    3. Сравнить полученный остаток с переменной max_digit.
    4. Если полученный остаток больше переменной max_digit, то присвоить значение полученного остатка переменной max_digit.
    5. Целочисленно разделить число на 10.
    6. Повторять шаги 2-5, пока число не станет равным 0.

    В результате выполнения этого алгоритма переменная max_digit будет содержать максимальную цифру исходного числа.

    Приведем пример реализации этого алгоритма на Python:

    num = 123456
    max_digit = 0
    
    while num != 0:
        digit = num % 10
        if digit > max_digit:
            max_digit = digit
        num //= 10
    
    print(max_digit)

    В этом примере переменная num инициализируется значением 123456, а переменная max_digit — значением 0. Затем в цикле while получаются остатки от деления num на 10, сравниваются с переменной max_digit и при необходимости присваиваются переменной max_digit. Затем число num делится на 10 и процесс повторяется до тех пор, пока num не станет равным 0. В результате выполнения программы на экран будет выведено значение 6, которое является максимальной цифрой числа 123456.

    Найти наибольшую цифру натурального числа

    Python

    Python задачи

    С клавиатуры вводится натуральное число. Найти его наибольшую цифру. В ведённом ряде. Например, введено число 748927183 — наибольшее число в ряде 9.Разбор задачи на Python

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

    Переменная a — заданное число, переменная m — максимальная цифра. Предположим, что последняя цифра числа является максимальной.

    Извлекаем его с помощью операции нахождения остатка при делении на 10.

    Так как последнюю цифру мы уже рассмотрели, избавимся от нее с помощью операции деления на 10.

    Далее в цикле мы извлекаем каждую цифру из конца числа и сравниваем ее со значением m.Если следующая цифра больше, мы присваиваем ее переменной m.

    Также в цикле нужно избавиться от уже учтенной последней цифры. Цикл завершается, когда переменная а становится равной нулю, т. е. он выполняется до тех пор, пока переменная а больше нуля.

    В конце программы мы выведем на экран значение m. Это будет самая большая цифра исходного числа.

    Решени задачи на языке python

    Решени задачи на языке python

    a = int(input(‘Введите число’))
    m = a%10
    a = a//10
    while a > 0:
    ….if a%10 > m:
    ……..m = a%10
    ….a = a//10
    print(m)

    Python

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

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

    17 июля 2022 г.

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



    Комментарии

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

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

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

    Понравилась статья? Поделить с друзьями:
  • Как правильно составить договор хранения
  • Как составить заказ на программное обеспечение
  • Украли айфон как найти через другой айфон
  • Как составить характеристику для судьи
  • Как найти джона санлара