Оглавление:
Задача — Найти наибольшую цифру натурального числа
— программирование на Pascal, Си, Кумир, Basic-256, Python
С клавиатуры вводится натуральное число. Найти его наибольшую цифру.
Например, введено число 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
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