Аватар для MSP_cyber
18 / 16 / 4
Регистрация: 29.03.2015
Сообщений: 100

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

24.06.2021, 11:12. Показов 24627. Ответов 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 25.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru