19/11/2015 10TIN
Bài tập chiều 19/11/2015
Code bài table buổi sáng (điểm tối đa)
uses math, sysutils;
var fi, fo: text;
n, i: longint;
z, t, j, k, m: int64;
a: array [0..15] of int64;
s, st: ansistring;
begin
assign(fi, 'table.inp'); reset(fi);
assign(fo, 'table.out'); rewrite(fo);
readln(fi, n, t);
a[0] := 0;
a[1] := 9;
a[2] := 189;
a[3] := 2889;
a[4] := 38889;
a[5] := 488889;
a[6] := 5888889;
a[7] := 68888889;
a[8] := 788888889;
a[9] := 8888888889;
a[10] := 98888888889;
a[11] := 1088888888889;
a[12] := 11888888888889;
a[13] := 128888888888889;
a[14] := 1388888888888889;
a[15] := 14888888888888889;
for i := 1 to 15 do
if t <= a[i] then
begin
t := t - a[i - 1];
break;
end;
m := t mod i;
t := t div i;
z := trunc(power(10, i - 1));
j := z + t - 1;
st := inttostr(j + 1);
k := max(1, trunc(z + t - n / i));
while k <= j do
begin
s := inttostr(j) + s;
dec(j);
end;
for i := 1 to m do
s := s + st[i];
writeln(fo, copy(s, max(1, length(s) - n + 1), n));
close(fi);
close(fo);
end.
Comments
Post a Comment