Помогите пожалуйста!! Pascal.

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

Ответы

Ответ дал: DonSERG
1

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

Вас заинтересует