Вопрос задан 19.06.2023 в 00:00. Предмет Информатика. Спрашивает Азаматская Диляра.

Помогите пожалуйста!! Pascal. С клавиатуры вводится натуральное число n, не превосходящее `2700`.

Определите n-ую цифру в ряду: `100 101 102…999`. В данном ряду подряд выписаны все трехзначные цифры. На экран вывести одно число – искомую цифру.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Боровик Лера.

С функцией ord:

var

 n, d: longint;

begin

 readln(n);

 n := n - 1;

 d :=

   (n div 300 + 1) * ord(n mod 3 = 0) +

   (n div 3 mod 100 div 10) * ord(n mod 3 = 1) +

   (n div 3 mod 10) * ord(n mod 3 = 2);

 writeln(d);

 readln

end.

Без ord:

var

 n, d: longint;

begin

 readln(n);

 dec(n);

 d :=

   (n div 300 + 1) * (1 - (n mod 3 + 1) div 2) +

   (n div 3 mod 100 div 10) * (n mod 3 mod 2) +

   (n div 3 mod 10) * (n mod 3 div 2);

 writeln(d);

 readln

end.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи вам нужно вычислить, находится ли искомая цифра в пределах какого-то трехзначного числа в ряду, а затем определить, какая именно цифра в этом числе.

Давайте разберемся шаг за шагом:

1. Получите натуральное число `n` от пользователя. 2. Определите, в каком трехзначном числе находится искомая цифра. Для этого вы можете использовать следующий подход: если `n <= 9`, то искомая цифра - это `n`; если `n > 9` и `n <= 9 + 90 * 2`, то искомая цифра - это `(n - 10) / 2 + 1`; если `n > 9 + 90 * 2` и `n <= 9 + 90 * 2 + 900 * 3`, то искомая цифра - это `(n - 190) / 3 + 10`. 3. Определите позицию искомой цифры внутри трехзначного числа. Для этого используйте остаток от деления искомого номера на 3. 4. Выведите результат.

Пример кода на Pascal:

```pascal program FindDigitInSequence;

var n, position, threeDigitNumber: integer;

begin // Шаг 1: Ввод натурального числа n write('Введите натуральное число n (не более 2700): '); readln(n);

// Шаг 2: Определение трехзначного числа if n <= 9 then threeDigitNumber := n else if n <= 9 + 90 * 2 then threeDigitNumber := (n - 10) div 2 + 100 else threeDigitNumber := (n - 190) div 3 + 1000;

// Шаг 3: Определение позиции искомой цифры внутри трехзначного числа position := (n - 1) mod 3 + 1;

// Шаг 4: Вывод результата writeln('Искомая цифра: ', (threeDigitNumber div trunc(power(10, 3 - position))) mod 10); end. ```

Этот код запрашивает у пользователя натуральное число `n`, определяет трехзначное число в ряду и вычисляет искомую цифру в этом числе.

0 0

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

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос