ПаскальДаны целое число k (1≤ k≤ 180) и последовательность цифр 10111213...9899, в...

0 голосов
150 просмотров

Паскаль
Даны целое число k (1≤ k≤ 180) и последовательность цифр 10111213...9899, в которой выписаны подряд все двухзначные числа. Определить k-ю цифру.


Информатика (203 баллов) | 150 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Var
   k,i:integer;
   s,x:string;
begin
for i:=10 to 99 do  s:=s+IntToStr(i);
writeln(s);
write('Введите число k: ');
readln(k);
x:=s[k];
writeln(k,'-я цифра: ',x)
end.

0

а что такое :string?

0

и что означает строчка s:=s+IntToStr(i);

0

string - строка; IntToStr - преобразование целого числа в строку

0

а возможно как-нибудь по-другому без string и IntToStr ? И ещё почему в строке x:=s[k]; -квадратные скобки?

0

Это как элемент массива рассматривается. По-другому, я думаю, можно, но не сейчас. Если только кто другой сделает. Если нет, то завтра.

0

Вот переделал:
var
k,x:integer;
begin
write('Введите число k: ');
readln(k);
x:=((k-1) div 2)+10;
if (k mod 2<>0) then
x:=x div 10
else x:=x mod 10;
writeln(k,'-я цифра: ',x)
end.