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

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

С функцией 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.



Для решения этой задачи вам нужно вычислить, находится ли искомая цифра в пределах какого-то трехзначного числа в ряду, а затем определить, какая именно цифра в этом числе.
Давайте разберемся шаг за шагом:
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`, определяет трехзначное число в ряду и вычисляет искомую цифру в этом числе.


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







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili