Паскаль Даны целое число k (1≤ k≤ 180) и последовательность цифр 10111213...9899, в которой выписаны подряд все двухзначные числа. Определить k-ю цифру.
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.
а что такое :string?
и что означает строчка s:=s+IntToStr(i);
string - строка; IntToStr - преобразование целого числа в строку
а возможно как-нибудь по-другому без string и IntToStr ? И ещё почему в строке x:=s[k]; -квадратные скобки?
Это как элемент массива рассматривается. По-другому, я думаю, можно, но не сейчас. Если только кто другой сделает. Если нет, то завтра.
Вот переделал: 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.