Бесплатный урок с нашим репетитором!

Узнать подробнее

Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Посмотреть все вопросы нейросети
Бесплатный пробный урок с репетитором

Узнай больше про репетиторов Новой Школы и запишись на бесплатный пробный урок. Мы проверим твой уровень знаний и составим план обучения по любому предмету и классу

Вопрос от Анонимного юзера 18 января 2026 16:09

Дано натуральное число и (n> 99). Определить его третью (с начала) цифру. Задачу решить двумя способами: а) с использованием двух операторов цикла; б) с использованием одного оператора цикла. Решить информатика

Ответ нейросети

18 января 2026 16:09

Задача: дано натуральное число n > 99. Определить его третью цифру слева (с начала числа). Решить двумя способами: а) с использованием двух операторов цикла; б) с использованием одного оператора цикла. Примеры: для 12345 третья цифра слева — 3.

Общая идея: третья цифра слева равна последней цифре трёхзначной части числа, полученной, если отбрасывать справа лишние цифры. Это можно сделать двумя циклами или одним циклoм.

Способ а) с использованием двух операторов цикла Шаги:

  1. Посчитать количество цифр в числе (для целей примера, хотя в этом решении он не нужен напрямую).
  2. Отбрасывать справа цифры, пока число не станет трёхзначным (то есть пока n >= 1000, делим на 10).
  3. Третья цифра слева — это последняя цифра оставшегося числа: результат = n % 10.

Псевдокод/пояснение:

  • tmp = n
  • while tmp > 0: увеличить количество цифр; tmp //= 10
  • while n >= 1000: n //= 10
  • ответ = n % 10

Пример реализации на Python: def third_digit_left_two_loops(n: int) -> int: # Шаг 1: посчитать digits (для соответствия требованию двух циклов) tmp = n digits = 0 while tmp > 0: digits += 1 tmp //= 10

# Шаг 2: отбросить справа до трёх цифр
while n >= 1000:
    n //= 10

# Шаг 3: третья цифра слева — последняя цифра получившегося числа
return n % 10

Пример реализации на C++: int thirdDigitLeftTwoLoops(long long n) { long long tmp = n; int digits = 0; while (tmp > 0) { digits++; tmp /= 10; } while (n >= 1000) { n /= 10; } return n % 10; }

Способ б) с использованием одного оператора цикла Шаги:

  1. Отбрасывать справа цифры, пока число не станет трёхзначным (n >= 1000).
  2. Третью цифру слева можно взять как последнюю цифру полученного числа: результат = n % 10.

Пример реализации на Python: def third_digit_left_one_loop(n: int) -> int: while n >= 1000: n //= 10 return n % 10

Пример реализации на C++: int thirdDigitLeftOneLoop(long long n) { while (n >= 1000) { n /= 10; } return n % 10; }

Пояснение по примерам:

  • n = 12345: Способ а: tmp подсчитывает 5 цифр; затем n становится 123; ответ = 3. Способ б: цикл преобразует 12345 → 123 → результат 3.
  • n = 1000: Способ а: после отброса справа до трех цифр получаем 1; ответ 1 % 10 = 0. Способ б: 1000 → 100; ответ 0.
  • n = 987: Способ а: 987 уже трехзначное, ответ 987 % 10 = 7. Способ б: так же, ответ 7.

Сложность:

  • Оба способа работают за O(log10 n) итераций (по количеству цифр). Приведённые реализации используют константное количество операций внутри цикла.

Если нужно, могу привести пример полного ввода-вывода под конкретный язык (Python или C++) с тестами.

Задай свой вопрос

Напиши любую задачу или вопрос, а нейросеть её решит

Похожие вопросы 15

Бесплатно Мобильное приложение ГДЗ
Мобильное приложение ГДЗ

Задавай вопросы искуcственному интеллекту текстом или фотографиями в приложении на iPhone или Android

qr-codegoogle-playapp-store

Саша — ассистент в телеграмме

Дано натуральное число и (n> 99). Определить его третью (с начала) цифру. Задачу решить двумя способами: а) с использованием двух операторов цикла; б) с использованием одного оператора цикла. Решить информатика
Задача: дано натуральное число n > 99. Определить его третью цифру слева (с начала числа). Решить двумя способами: а) с использованием двух операторов цикла; б) с использованием одного оператора цикла. Примеры: для 12345 третья цифра слева — 3. Общая идея: третья цифра слева равна последней цифре трёхзначной части числа, полученной, если отбрасывать справа лишние цифры. Это можно сделать двумя циклами или одним циклoм. Способ а) с использованием двух операторов цикла Шаги: 1) Посчитать количество цифр в числе (для целей примера, хотя в этом решении он не нужен напрямую). 2) Отбрасывать справа цифры, пока число не станет трёхзначным (то есть пока n >= 1000, делим на 10). 3) Третья цифра слева — это последняя цифра оставшегося числа: результат = n % 10. Псевдокод/пояснение: - tmp = n - while tmp > 0: увеличить количество цифр; tmp //= 10 - while n >= 1000: n //= 10 - ответ = n % 10 Пример реализации на Python: def third_digit_left_two_loops(n: int) -> int: # Шаг 1: посчитать digits (для соответствия требованию двух циклов) tmp = n digits = 0 while tmp > 0: digits += 1 tmp //= 10 # Шаг 2: отбросить справа до трёх цифр while n >= 1000: n //= 10 # Шаг 3: третья цифра слева — последняя цифра получившегося числа return n % 10 Пример реализации на C++: int thirdDigitLeftTwoLoops(long long n) { long long tmp = n; int digits = 0; while (tmp > 0) { digits++; tmp /= 10; } while (n >= 1000) { n /= 10; } return n % 10; } Способ б) с использованием одного оператора цикла Шаги: 1) Отбрасывать справа цифры, пока число не станет трёхзначным (n >= 1000). 2) Третью цифру слева можно взять как последнюю цифру полученного числа: результат = n % 10. Пример реализации на Python: def third_digit_left_one_loop(n: int) -> int: while n >= 1000: n //= 10 return n % 10 Пример реализации на C++: int thirdDigitLeftOneLoop(long long n) { while (n >= 1000) { n /= 10; } return n % 10; } Пояснение по примерам: - n = 12345: Способ а: tmp подсчитывает 5 цифр; затем n становится 123; ответ = 3. Способ б: цикл преобразует 12345 → 123 → результат 3. - n = 1000: Способ а: после отброса справа до трех цифр получаем 1; ответ 1 % 10 = 0. Способ б: 1000 → 100; ответ 0. - n = 987: Способ а: 987 уже трехзначное, ответ 987 % 10 = 7. Способ б: так же, ответ 7. Сложность: - Оба способа работают за O(log10 n) итераций (по количеству цифр). Приведённые реализации используют константное количество операций внутри цикла. Если нужно, могу привести пример полного ввода-вывода под конкретный язык (Python или C++) с тестами.