Ділимо число на , поки результат не стане рівним нулю. Останні цифри кожного результату ділення відповідають цифрам вихідного числа . Визначаємо максимальне значення серед цих цифр.
Реалізація алгоритму
Читаємо вхідне значення .
scanf("%lld", &n);У змінній знаходимо максимальну цифру числа .
res = 0;Перебираємо всі цифри числа . Для цього послідовно ділимо на і витягуємо його останню цифру d = n \% 10. Серед усіх таких цифр визначаємо максимальне значення.
while (n > 0)
{
d = n % 10;
if (d > res) res = d;
n = n / 10;
}Виводимо відповідь.
printf("%d\n", res);Java реалізація
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
long n = con.nextLong();
long res = 0;
while (n > 0)
{
long d = n % 10;
if (d > res) res = d;
n = n / 10;
}
System.out.println(res);
con.close();
}
}Python реалізація
Читаємо вхідне число як рядок.
s = input()Функція max() повертає максимальний символ в рядку.
Якщо рядок складається тільки з цифр, то max() знаходить найбільшу цифру (наприклад, для "" результат буде "").
Якщо рядок містить букви, символи порівнюються в лексикографічному порядку.
Виводимо відповідь.
print(max(s))