Нужно написать программу которая выводит на экран максимальную цифру числа

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

Код к задаче: «Вывести максимальную цифру в числе и ее позицию»

Листинг программы

procedure vvod(var n:integer); begin repeat write(‘Введите натуральное число n>0 n=’); readln(n); until n>0; end; procedure max(n:integer;var c,p:byte); var m:integer; k,t:byte; begin //узнаем сколько цифр в числе m:=n; k:=0; repeat inc(k); m:=m div 10; until m=0; //найдем максимальную и ее номер c:=0; t:=0; while n>0 do begin inc(t); if n mod 10>c then begin c:=n mod 10; p:=k-t+1; end; n:=n div 10; end; end; var n:integer; cf,nc:byte; begin vvod(n); max(n,cf,nc); write(‘Максимальная цифра=’,cf,’ ее номер=’,nc) end.

Источник: studassistent.ru

7.7 Ревью кода 4. «Поколение Python»: курс для начинающих. Курс Stepik

Как найти максимальную цифру в числе Python

Обложка к статье

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

Использование цикла 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() , которая находит максимальное значение из последовательности. Мы можем использовать эту функцию для нахождения максимальной цифры в числе, преобразовав число в последовательность строк:

8.2 Ревью кода 8. «Поколение Python»: курс для начинающих. Курс Stepik


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-teach.ru

Решение модуля 7.7 из курса «Поколение python: курс для начинающих»

Ревью кода-1 ?️?️
На обработку поступает последовательность из 10 целых чисел. Известно, что вводимые числа по абсолютной величине не превышают 10 6
Нужно написать программу, которая выводит на экран количество неотрицательных чисел последовательности и их произведение. Если неотрицательных чисел нет, требуется вывести на экран «NO». Программист торопился и написал программу неправильно.
Найдите все ошибки в этой программе (их ровно 4). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк.
Примечание 1. Число x не превышает по абсолютной величине 10^6
, если -10 6 ≤ x ≤10 6
Примечание 2. При необходимости вы можете добавить необходимые строки кода.

count = 0 p = 1 # ошибка: p не должно быть равно 0 for i in range(1,11): # ошибка: range(1, 10) это 9 итераций — 9 цифр x = int(input()) if x > -1: # ошибка: х тоже не отрицательное число p = p * x count = count + 1 if count > 0: print(count) # ошибка: печатаем счетчик, а не переменную print(p) else: print(‘NO’)

Ревью кода-2 ?️?️
На обработку поступает последовательность из 10 целых чисел. Известно, что вводимые числа по абсолютной величине не превышают 10^6.
Нужно написать программу, которая выводит на экран сумму всех отрицательных чисел последовательности и максимальное отрицательное число в последовательности. Если отрицательных чисел нет, требуется вывести на экран «NO». Программист торопился и написал программу неправильно.
Найдите все ошибки в этой программе (их ровно 5). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк.
Примечание 1. Число x не превышает по абсолютной величине 10^6, если -10 6 ≤ x ≤10 6
Примечание 2. При необходимости вы можете добавить необходимые строки кода.

mx = — pow(10, 6) # изменение стартового значения мах на минимально возможное s = 0 for i in range(1, 11): # появилось начало последовательности x = int(input()) if x < 0: s += x # добавился +, чтобы считать сумму if 0 >x > mx: mx = x if s < 0: # добавление оператора условия print(s) print(mx) else: # добавление второго варианта ответа print(‘NO’)

Ревью кода-3
На обработку поступает последовательность из 7 целых чисел. Известно, что вводимые числа по абсолютной величине не превышают 10^6.
Нужно написать программу, которая подсчитывает и выводит сумму всех чётных чисел последовательности или 0, если чётных чисел в последовательности нет. Программист торопился и написал программу неправильно.
Найдите все ошибки в этой программе (их ровно 4). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк.
Примечание 1. Число x не превышает по абсолютной величине 10^6, если -10 6 ≤ x ≤10 6
Примечание 2. При необходимости вы можете добавить необходимые строки кода.

s = 0 # неверно задана переменная (было 1) for i in range(7): # неверно заданы границы диапозона (было (1, 7)) n = int(input()) # отсутствие преобразования в целое число (не было int()) if n % 2 == 0: # неправильная переменная в условии (была i) s = s + n print(s)

Ревью кода-4 ?️?️

На обработку поступает натуральное число. Нужно написать программу, которая выводит на экран максимальную цифру числа, кратную 3. Если в числе нет цифр, кратных 3, требуется на экран вывести «NO». Программист торопился и написал программу неправильно.

Найдите все ошибки в этой программе (их ровно 5). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк.

Примечание 1. Число 0 делится на любое натуральное число.

Примечание 2. При необходимости вы можете добавить нужные строки кода.

n = int(input()) max_digit = -1 # отталкиваться надо от -1, чтобы любая подходящая цифра могла заменить его while n > 0: digit = n % 10 if digit % 3 == 0: if digit > max_digit: # нужно найти большее число max_digit = digit # перепутал местами n //= 10 # нужно откинуть последнюю цифру if max_digit == -1: # сравнивать нужно не с 0 print(‘NO’) else: print(max_digit)

Ревью кода-5 ?️

На обработку поступает натуральное число. Нужно написать программу, которая выводит на экран его первую (старшую) цифру. Программист торопился и написал программу неправильно.

Найдите все ошибки в этой программе (их ровно 2). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк.

n = int(input()) while n > 9: # Ошибка — цикл имеет смысл только в случае если данное натурально число дву- и более -значное. n //= 10 # Ошибка — нам необходимо постепенно отбрасывать числа до первого, а не выяснять последние из них. print(n)

Ревью кода-6

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

Найдите все ошибки в этой программе (их ровно 3). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк.

n = int(input()) # вводим число, а не текст product = 1 # число может быть любым, даже 0, а в цикле у нас произведение, получим ошибку while n > 0: # цикл должен начинаться с 0, иначе мы потеряем цикл digit = n % 10 product = product * digit n //= 10 print(product)

Читайте также:
Определите при каком наибольшем введенном значении переменной s программа выведет число 31

Источник: zazloo.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru