M
mikelhpdatke
Mình bây giờ bài tập trên mạng tìm thấy nhiều vô kể. Vù đầu vào máy tính không làm hết. Cái bài trên của mình dùng quay lui là ổn. Cho các bác đề thi Đà Nẵng năm nay. Nói chung đề này dễ.
Đề sưu tầm trên VNZ )
Đề này gồm có 4 bài trong 2 trang
Tổng quan đề thi
Bài 1
Bài 2
Bài 3
Bài 4
Tên bài làm
BL1.PAS
BL2.PAS
BL3.PAS
BL4.PAS
Dữ liệu vào
Từ bàn phím
Từ bàn phím
MESS.INP
EXP.INP
Dữ liệu ra
Trên màn hình
Trên màn hình
MESS.OUT
EXP.OUT
Chú ý: Trên thư mục gốc của ổ đĩa do hội đồng thi qui định, thí sinh hãy tạo thư mục có tên là số báo danh của thí sinh(ví dụ: Thí sinh mang số báo danh 20015 thì tạo thư mục có tên là 20015). Tất cả bài làm của thí sinh phải lưu vào thư mục này.
Bài 1: (20đ)
Nhập từ bàn phím một số nguyên dương N (3 ≤ N ≤ 1000000000). In ra màn hình số nguyên dương M lớn nhất sao cho M <và N chia hết cho M.
Ví dụ: Nhập: N = 12
In ra màn hình: M = 4
Bài 2: (20đ)
Nhập từ bàn phím một sâu kí tự. In ra màn hình số lượng các kí tự kiểu số trong xâu đã nhập.
Ví dụ:
Nhập: 1234aaaa12a
In ra màn hình: 6
Bài 3: (20đ) Giải mã thông điệp.
Mỗi từ trong ngôn ngữ lập trình được xem là một dãy kí tự liên tiếp nhau và không chứa kí tự trống (dấu cách). Một xâu kí tự có thể có nhiều hơn một từ, mỗi từ trong một xâu kí tự phải cách nhau ít nhất một kí tự trống.
Ví dụ: Cho xâu kí tự S: “Thanh Pho Da Nang”
Xâu S gồm có 4 từ được xác định như sau:
Thứ tự của từ trong xâu S
Từ
1
Thanh
2
Pho
3
Da
4
Nang
Hai người bạn A và B muốn trao đổi một thông điệp cho nhau nhưng lại không muốn người khác đọc vào hiểu ngay nên nghĩ ra một cách như sau: Xáo trộn trật tự của các từ trong một câu. Tất nhiên, để bạn của mình hiểu được thì cẩn phải có một quy tắc “giải mã” thông điệp đó. Quy tắc giải mã cũng khá đơn giản là:
Mỗi câu trong thông điệp có N từ sẽ được kèm với một dãy số gồm n số nguyên dương đôi một khác nhau và không lớn hơn n. Trong dãy số đó, nếu số thứ i có giá trị là j thì từ thứ j trong câu thông điệp trên sẽ chuyển thành từ thứ i trong câu thông điệp cần tìm.
Yêu cầu: Lập trinhg giải mã một thông điệp cho trước.
Input: File văn bản MES.INP gồm 2 dòng:
· Dòng đầu ghi một xâu kí tự có không quá 255 kí tự là thông điệp được gửi đi. Trong kí tự này không quá 50 từ, mỗi từ có không quá 30 kí tự.
· Dòng thứ 2 ghi một dãy các số nguyên dương đôi một khác nhau dùng để giải mã thông điệp trên.
Output: File văn bản MESS.OUT gồm một dòng ghi xâu kí tự là thông điệp đã được giải mã.
Ví dụ:
MESS.INP
MESS.OUT
Luon chuc hoc ban gioi luon
2 4 1 6 3 5
chuc ban luon luon hoc gioi
Bài 4: (20đ) Biểu thức đại số
Cho số nguyên (-100 K 100) và một dãy gồm N số nguyên a[1], a[2],…,a[n] với 1 < n 40 và 1 a 100.
Yêu cầu:
Hãy xác định xem có bao nhiêu cách điền vào giữa tất cả các số trong dãy đã cho các dấu cộng (+) hoặc trừ (-) để thu được một biểu thức có giá trị bằng K.
Ví dụ: Với K = 2 và dãy gồm 6 số: 1 2 1 2 6 2 thì ta có tất cả 2 cách điền:
1 + 2 + 1 + 2 - 6 + 2 = 2
1 - 2 + 1 - 2 + 6 - 2 = 2
Input: File văn bảnEXP.INP có 2 dòng:
· Dòng 1: Ghi 2 số nguyên n, K mỗi số cách nhau một dấu cách.
· Dòng 2: Ghi n số nguyên a[1], a[2],…,a[n] , mỗi số cách nhau một dấu cách.
Output: File văn bảnEXP.OUT ghi một số nguyên m là số cách điền dấu cộng hoặc trừ vào giữa tất cả các số trong dãy đã cho để được một biểu thức có giá trị bằng K.
Ví dụ:
EXP.INP
EXP.OUT
6 2
1 2 1 2 6 2
2
Đề sưu tầm trên VNZ )
Đề này gồm có 4 bài trong 2 trang
Tổng quan đề thi
Bài 1
Bài 2
Bài 3
Bài 4
Tên bài làm
BL1.PAS
BL2.PAS
BL3.PAS
BL4.PAS
Dữ liệu vào
Từ bàn phím
Từ bàn phím
MESS.INP
EXP.INP
Dữ liệu ra
Trên màn hình
Trên màn hình
MESS.OUT
EXP.OUT
Chú ý: Trên thư mục gốc của ổ đĩa do hội đồng thi qui định, thí sinh hãy tạo thư mục có tên là số báo danh của thí sinh(ví dụ: Thí sinh mang số báo danh 20015 thì tạo thư mục có tên là 20015). Tất cả bài làm của thí sinh phải lưu vào thư mục này.
Bài 1: (20đ)
Nhập từ bàn phím một số nguyên dương N (3 ≤ N ≤ 1000000000). In ra màn hình số nguyên dương M lớn nhất sao cho M <và N chia hết cho M.
Ví dụ: Nhập: N = 12
In ra màn hình: M = 4
Bài 2: (20đ)
Nhập từ bàn phím một sâu kí tự. In ra màn hình số lượng các kí tự kiểu số trong xâu đã nhập.
Ví dụ:
Nhập: 1234aaaa12a
In ra màn hình: 6
Bài 3: (20đ) Giải mã thông điệp.
Mỗi từ trong ngôn ngữ lập trình được xem là một dãy kí tự liên tiếp nhau và không chứa kí tự trống (dấu cách). Một xâu kí tự có thể có nhiều hơn một từ, mỗi từ trong một xâu kí tự phải cách nhau ít nhất một kí tự trống.
Ví dụ: Cho xâu kí tự S: “Thanh Pho Da Nang”
Xâu S gồm có 4 từ được xác định như sau:
Thứ tự của từ trong xâu S
Từ
1
Thanh
2
Pho
3
Da
4
Nang
Hai người bạn A và B muốn trao đổi một thông điệp cho nhau nhưng lại không muốn người khác đọc vào hiểu ngay nên nghĩ ra một cách như sau: Xáo trộn trật tự của các từ trong một câu. Tất nhiên, để bạn của mình hiểu được thì cẩn phải có một quy tắc “giải mã” thông điệp đó. Quy tắc giải mã cũng khá đơn giản là:
Mỗi câu trong thông điệp có N từ sẽ được kèm với một dãy số gồm n số nguyên dương đôi một khác nhau và không lớn hơn n. Trong dãy số đó, nếu số thứ i có giá trị là j thì từ thứ j trong câu thông điệp trên sẽ chuyển thành từ thứ i trong câu thông điệp cần tìm.
Yêu cầu: Lập trinhg giải mã một thông điệp cho trước.
Input: File văn bản MES.INP gồm 2 dòng:
· Dòng đầu ghi một xâu kí tự có không quá 255 kí tự là thông điệp được gửi đi. Trong kí tự này không quá 50 từ, mỗi từ có không quá 30 kí tự.
· Dòng thứ 2 ghi một dãy các số nguyên dương đôi một khác nhau dùng để giải mã thông điệp trên.
Output: File văn bản MESS.OUT gồm một dòng ghi xâu kí tự là thông điệp đã được giải mã.
Ví dụ:
MESS.INP
MESS.OUT
Luon chuc hoc ban gioi luon
2 4 1 6 3 5
chuc ban luon luon hoc gioi
Bài 4: (20đ) Biểu thức đại số
Cho số nguyên (-100 K 100) và một dãy gồm N số nguyên a[1], a[2],…,a[n] với 1 < n 40 và 1 a 100.
Yêu cầu:
Hãy xác định xem có bao nhiêu cách điền vào giữa tất cả các số trong dãy đã cho các dấu cộng (+) hoặc trừ (-) để thu được một biểu thức có giá trị bằng K.
Ví dụ: Với K = 2 và dãy gồm 6 số: 1 2 1 2 6 2 thì ta có tất cả 2 cách điền:
1 + 2 + 1 + 2 - 6 + 2 = 2
1 - 2 + 1 - 2 + 6 - 2 = 2
Input: File văn bảnEXP.INP có 2 dòng:
· Dòng 1: Ghi 2 số nguyên n, K mỗi số cách nhau một dấu cách.
· Dòng 2: Ghi n số nguyên a[1], a[2],…,a[n] , mỗi số cách nhau một dấu cách.
Output: File văn bảnEXP.OUT ghi một số nguyên m là số cách điền dấu cộng hoặc trừ vào giữa tất cả các số trong dãy đã cho để được một biểu thức có giá trị bằng K.
Ví dụ:
EXP.INP
EXP.OUT
6 2
1 2 1 2 6 2
2