Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.76/112: Рейтинг темы: голосов - 112, средняя оценка - 4.76
 Аватар для MSP_cyber
18 / 16 / 4
Регистрация: 29.03.2015
Сообщений: 100

Рекурсия. Найти максимальную цифру

24.06.2021, 11:12. Показов 24549. Ответов 23

Дано натуральное число N. С помощью рекурсии найти в нём максимальную цифру.

Я, тут, написал функцию.
Но очень бы хотел знать ваше мнение, правильно ли она написана.
Может быть, у вас есть другое решение?

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def maxi_ts (N, maxi) :
  ts = N % 10
 
  if ts > maxi :
    maxi = ts
  
  if N > 9 :
    return maxi_ts (N // 10, maxi)
  
  return maxi
 
# main ()
 
N = int (input ())
 
print (maxi_ts (N, -1))
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.06.2021, 11:12
Ответы с готовыми решениями:

Найти максимальную и минимальную цифру натурального числа.
Я реально в ступоре уже два дня Задача на мак и мин цифру натурального числа x = 52645 m = 0 while(x): if(x % 10 >...

Рекурсия: определить максимальную длину подсписка в списке
Помогите, пожалуйста, написать рекурсивную функцию, которая определяет максимальную длину подсписка в списке на языках Python и Lisp.

Определите максимальную цифру этого числа в 7-ной с.с
Всем здравствуйте, помогите, пожалуйста, начинающему Дано натуральное число N в 10 с.с. Определите максимальную цифру этого числа в...

23
Костыли любой сложности
201 / 146 / 36
Регистрация: 27.10.2019
Сообщений: 843
24.06.2021, 14:45
Цитата Сообщение от Fudthhh Посмотреть сообщение
да я не в обиду
да я и не обижаюсь, я же смайлики добавил
Цитата Сообщение от Fudthhh Посмотреть сообщение
max("1234567")
вот про это я даже не подумал
чем так плох левый аргумент? он в большинстве случаев гарантирует, то что рекурсия не зациклится, (то есть если планамерно уменьшать объём данных передаваемых в нём), конечно можно юзать глобальную переменную, но всё же...
0
 Аватар для MSP_cyber
18 / 16 / 4
Регистрация: 29.03.2015
Сообщений: 100
24.06.2021, 16:13  [ТС]
user-ganz,
Python
1
2
3
4
5
def func(n):
    x=int(str(N)[1])
    if x==0 or x='-':
         return func(str(N)[1:])
    return x
Тест типа
Python
1
2
3
4
 
   func (1234567), даже если исправить x='-'
   не работает верно
   Ожидается ответ: 7
Добавлено через 22 минуты
Цитата Сообщение от Fudthhh Посмотреть сообщение
Да и передача левого аргумента в функцию (тем более рекурсивную) мне глаз режет намного больнее, чем ошибка при подаче аргумента который вряд-ли будет введен.
Вот с этим я тоже очень согласен.
Но даже если будем решать итеративно, то всё равно необходимо инициализировать значение maxi.
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2696 / 1602 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
24.06.2021, 16:28
Цитата Сообщение от MSP_cyber Посмотреть сообщение
Но даже если будем решать итеративно, то всё равно необходимо инициализировать значение maxi.
Зачем, ты видел мое решение?
0
Костыли любой сложности
201 / 146 / 36
Регистрация: 27.10.2019
Сообщений: 843
24.06.2021, 16:33
MSP_cyber, это устаревшая функция, вот новая учитывающая все пожелания, даже без перевода в строки
Code
1
2
3
4
5
6
7
8
9
10
11
12
count=None
def func(x):
    global count
    if count==None:
          count=9
    if repr(count) in repr(x):
        counta=count
        count=None
        return counta
    else:
        count-=1
        return func(x)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.06.2021, 16:33

Насколько изменится число, если максимальную цифру увеличить на 2
Написать программу, которая определит, насколько изменится число, если максимальную по значению цифру, входящую в него, увеличить на 2. ...

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

Рекурсия. Найти максимальную цифру десятичной записи указанного числа
Определить рекурсивную функцию, которая находит максимальную цифру десятичной записи указанного числа. Написать программу, использующую...

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

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


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

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов. Сигнатура func Fetch(urls string, maxConcurrent int) Result Пример urls :=. . .
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition) Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
Взрослые отношения, и почему они не получаются
kumehtar 09.06.2026
Когда в детстве ребёнок не получает от родителей чего-то важного, он лишается не просто приятных переживаний, а основы для формирования определённых внутренних качеств и навыков. Если ребёнок не. . .
[golang] Worker Pool
alhaos 09.06.2026
Worker Pool Worker Pool — паттерн конкурентной обработки задач в Go. Суть: фиксированное количество горутин-воркеров читают задачи из общего канала и пишут результаты в общий канал результатов. . . .
[golang] Pipeline
alhaos 08.06.2026
Pipeline Pipeline — паттерн конкурентной обработки данных в Go. Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь lIs4oanZS9Y
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу. До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru