e-olymp 8842. Цифра 3

Условие задачи:

На входе программы имеется натуральное число  [latex] n (n > 99) [/latex]. Нужно вывести третью цифру (разряд сотен) числа [latex] n [/latex].

Входные данные:

Натуральное число  [latex] n (n > 99) [/latex].

Выходные данные:

Цифра разряда сотен числа [latex] n [/latex].

Тесты:

 

Ввод Вывод
1 512 5
2 7826 8
3 90285 2
4 12479056 0
5 18942793357 3

Код программы:

Решение:

Для нахождения третьей цифры с конца данного числа, выполним ряд следующих действий:

  • разделим данное натуральное число на [latex] 100 [/latex] и получаем количество сотен в числе: либо однозначное число (цифру), либо многозначное;
  • так как мы хотим получить простую сотню (однозначное число), мы находим остаток от полученного числа при делении на [latex] 10 [/latex].

Ссылки:

Задача на E-Olymp

Решение задачи на ideone

Засчитанное решение на E-Olymp

6 thoughts on “e-olymp 8842. Цифра 3

    • Не заметила, спасибо большое)

  1. «Нужно вывести третью дело цифру (разряд сотен)». Слова «дело» нету в условии на e-olymp. И стоит добавить ссылку с засчитанным решением.

  2. Всё бы не плохо, но пояснение… Вы описываете решение, как колдовской наговор. Без смысла и причин. Вы пишите «для того, чтобы найти цифру, указывающую на разряд сотен, нужно заданное натуральное число разделить на 100». Зачем? Что мы хотим получить?
    Понимаете, есть еще несколько способов найти число сотен в десятичной записи числа без того, чтобы делить его на 100. Можно перевести в строку и найти третий с права символ. Можно взять остаток от деления на 1000 и написать 9 условных операторов. И мало ли еще какие выверты придут людям в голову.
    Нужно объяснить в чем Ваша идея. Вы же просто пересказали свой код.

    P.S. А как Вы сделали овал на портрете? Во всяком случае Вы что-то с этим натворили, поскольку в комментариях Ваш портрет не просто не отображается, а приводит к сбою. Поздравляю, Вы нашли дыру в Вордпресс или gravatar.com.

  3. Предлагаю здесь в комментариях писать самые изощренные (или извращенные?) решения этой задачи. Интересно, у кого фантазия найдет, что-то принципиально отличное от очевидных:
    1. Остаток от деления на 10, после деления на 100 (см. Катин код).
    2. Читаем не как число, а как строку и выводим третий справа символ — никаких арифметически действий и быстрое чтение без преобразования в число.
    3. Берем остаток от деления на 1000 и делим его на 100 (восемь «ифов» вместо деления не считается) — Нет преимуществ перед Катиным решением.
    4. Читаем посимвольно, запоминая всегда три последних прочитанных символа — работает даже для чисел, десятичная запись которых не помещается в string, экономия памяти. Такой прием называется «циклический буфер» или «кольцевое чтение».

    Какие еще идеи?

Добавить комментарий