BÀI TẬP 56: TRÒ CHƠI TÌM QUÀ

Để tiết học số học trở nên sôi nổi, Cô giáo cho các bạn chơi trò chơi. Cô viết ra một số nguyên dương N trên bảng. Sau đó yêu cầu một bạn tạo ra số nguyên M bằng cách viết liên tiếp nhau các số nguyên từ 1 đến N. Ví dụ: N = 6 ta có M = 123456. Rổi chia lớp thành hai nhóm. Cô yêu cầu nhóm một thực hiện việc thu gọn M bằng cách xóa tất cả các chữ số ở vị trí lẻ. Sau đó đến lượt nhóm hai xóa tất cả các chữ số ở vị trí chẵn, rồi lại tới lượt nhóm một xóa các chữ số ở vị trí lẻ,… các nhóm luân phiên xóa theo quy luật trên cho đến khi chỉ còn lại một chữ số. Số cuối cùng này là số thứ tự của phần quà mà cả lớp nhận được.

            Ví dụ: N = 6; M = 123456 --> 246 --> 26 --> 6

Yêu cầu: Cho số nguyên N (1 < N 70000). Hãy xác định chữ số nhận được sau quá trình thu gọn số M tương ứng.

Dữ liệu vào: Từ tệp văn bản TROCHOI.INP gồm một dóng chứa số nguyên N.

Dữ liệu ra: Ghi vào tệp TROCHOI,OUT chữ số tìm được theo yêu cầu.

TROCHOI.INP

TROCHOI.OUT

6

6


CODE THAM KHẢO:
program tro_choi_tim_qua;
var i, n, dem: longint;
    s,st: ansistring;
    f:text;
begin
        assign(f,'TROCHOI.INP'); reset(f);
        readln(f,n);
        close(f);
        assign(f,'TROCHOI.OUT'); rewrite(f);
        for i:=1 to n do
        begin
                str(i,st);
                s:=s+st;
        end;
        while length(s) <> 1 do
        begin
                inc(dem);
                if dem mod 2 = 1 then
                  begin
                        for i:=length(s) downto 1 do
                        if i mod 2 = 1 then delete(s,i,1);
                  end
                else
                for i:=length(s) downto 1 do
                  if i mod 2 = 0 then delete(s,i,1);
        end;
        write(f,s);
        close(f);
end.


Nhãn:

Đăng nhận xét

[blogger]

Biểu mẫu liên hệ

Tên

Email *

Thông báo *

Được tạo bởi Blogger.
Javascript DisablePlease Enable Javascript To See All Widget