Ta sẽ xác định xem chữ số thứ N thuộc số có mấy chữ số và nó là số nào?. Sau đó xem nó ở vị trí thứ mấy trong số đó.[r]
(1)Bài 89/2001 - Chữ số thứ N
(Dành cho học sinh THCS THPT)
Thuật tốn: từ nhận xét có số có chữ số, 90 số có chữ số, Ta xác định xem chữ số thứ N thuộc số có chữ số số nào? Sau xem vị trí thứ số
Program bai89;
{$A+,B-,D+,E+,F-,G-,I+,L+,N-,O-,P-,Q+,R+,S+,T-,V+,X+} {$M 16384,0,655360}
Uses crt;
Const fi ='number.inp'; fo ='number.out';
cs:array[1 8] of longint = (9, 180, 2700, 36000, 450000, 5400000, 63000000, 720000000);
Var n : longint; f,g :text;
Function num(n:longint):char; var k, so, mu : longint; s : string;
Begin
k:=1; mu:=1;
while (k<9)and(cs[k]<n) begin
n:=n-cs[k];
inc(k); mu:=mu*10; end;
if mu=1 then so:=n div k
else so:=n div k+mu+ord(n mod k>0)-1; str(so,s);s:=s[k]+s;
num:=s[n mod k+1]; End;
BEGIN
assign(f,fi); reset(f); assign(g,fo); rewrite(g); while not seekeof(f) begin readln(f,n); writeln(g,num(n)); end; close(f); close(g); END
(Lời giải bạn Lê Văn Đức - Nguyễn Huệ - Hà Đông - Hà Tây) Bài 90/2002 - Thay số bảng ô
(2)Do tổng số ô điền chữ ban đầu nên ta suy ra: 2M = 3I = 4S Vì 4S chia hết cho 4, 2M 3I chia hết cho
Suy ra: I chia hết cho 4; M = 2S; 3I = 4S
Đặt I = 4k (k = 1, 2, ), ta suy tương ứng: S = 3k, M = 6k Ví dụ, với k = ta có đáp số sau: I = 4, S = 3, M = 6;