Yêu cầu: Hãy lập trình đưa ra số lần di chuyển ít nhất của các viên gạch sao cho từ các chồng gạch cĩ độ cao khác nhau trở thành các chồng gạch cĩ độ cao bằng nhau; lần lượt từng chiếc m
Trang 1CÁC BÀI TẬP PASCAL HAY DÀNH CHO HS LỚP 9 BÀI 1 : XẾP GẠCH
Minh rất thích trị chơi xếp các chiếc hộp cĩ hình viên gạch Minh đặt các viên gạch chồng lên nhau và xây thành nhiều chồng cĩ độ cao khác nhau Minh khoe với chị rằng
“Chị trơng, em đã xây được một bức tường” Chị của Minh trả lời “Em phải xếp các viên gạch cĩ độ cao giống nhau mới được gọi là một bức tường” Sau khi nghe chị nĩi như vậy
nĩ cân nhắc một tí và cho rằng ý kiến ấy là đúng Vì vậy em bắt đầu tiến hành sắp xếp lại các chồng gạch lần lượt từng chiếc một cho đến khi hồn thành cơng việc Khi cơng việc đã hồn tất, Minh mệt lả và muốn cĩ bạn nào giúp Minh di chuyển các viên gạch với số lần ít nhất
Yêu cầu: Hãy lập trình đưa ra số lần di chuyển ít nhất của các viên gạch sao cho từ
các chồng gạch cĩ độ cao khác nhau trở thành các chồng gạch cĩ độ cao bằng nhau; lần lượt từng chiếc một cho đến khi hồn thành cơng việc
Dữ liệu vào: cĩ cấu trúc sau:
- dịng đầu tiên là số n, n là số các chồng gạch,
- dịng tiếp theo lần lượt là các hi, độ cao của chồng gạch thứ i (1≤ n ≤ 50; 1≤ hi ≤ 100; i = 1 n) Lưu ý rằng số viên gạch bao giờ cũng chia hết cho số chồng gạch
Dữ liệu ra: chỉ cĩ một dịng chứa một số nguyên dương là kết quả tính tốn số lần ít
nhất sau khi xếp lại các chồng gạch Nếu khơng cĩ kết quả cũng phải ghi rõ “KHONG CAN
DI CHUYEN LAN NAO”
Ví d : v i hình trên ta cĩ d li u vào, ra:ụ: với hình trên ta cĩ dữ liệu vào, ra: ới hình trên ta cĩ dữ liệu vào, ra: ữ liệu vào, ra: ệu vào, ra:
6
5 2 4 1 7 5
5
Trang 2BÀI 2: SẮP SỐ TRONG XÂU
1 Nhập một xâu s bao gồm số và kí tự, in ra xâu đã sắp xếp số theo thứ tự tăng dần còn vị trí các kí tự vẫn giữ nguyên?
abc6ghj7kkkkk1hhhh9 abc6ghj7kkkkk1hhhh9
BÀI 3: KÝ TỰ NHIỀU NHẤT
Nhập vào xâu s (az), in ra ký tự xuất hiện nhiều lần nhất trong xâu và số lần xuất hiện? Nếu có nhiều trường hợp thì in ra trường hợp đầu tiên.
ví dụ:
BÀI 4: TỪ DÀI NHẤT
In ra từ dài nhất trong một xâu nhập từ bàn phím và số ký tự của từ này? Nếu có nhiều từ có độ dài bằng nhau thì in ra hết
ví dụ:
4 Truong thich hoc pascal Truong
pascal 5
BÀI 5: DÃY CON LỚN NHẤT
Cho một mảng số nguyên gồm n phần tử Tìm dãy con gồm m phần tử (mn) sao cho dãy con này cĩ tổng lớn nhất (Dãy con là dãy các phần tử liên tiếp nhau trong mảng)
nh p n, nh p các ph n t c a dãy, nh p m, in ra dãy con cĩ m ph n t ần tử của dãy, nhập m, in ra dãy con cĩ m phần tử ử của dãy, nhập m, in ra dãy con cĩ m phần tử ủa dãy, nhập m, in ra dãy con cĩ m phần tử ần tử của dãy, nhập m, in ra dãy con cĩ m phần tử ử của dãy, nhập m, in ra dãy con cĩ m phần tử.
8
4 3 5 2 8 7 9 6
3
8 7 9
BÀI 6: XOÁ KÝ TỰ TRÙNG
Viết chương trình nhập vào 1 xâu và xoá hết các ký tự liên tiếp giống nhau trong xâu chỉ chừa lại một?
Trang 3BÀI 7: SỐ ĐƠN ĐIỆU
Các số nguyên dương 3748, 58, 859, 32435465768 được gọi là các số đơn điệu do nếu quan sát các chữ số của số này , ta thấy chúng luân phiên tăng giảm hoặc giảm tăng Chẳng hạn:
3 < 7 > 4 < 8 và 3 > 2 < 4 > 3 < 5 > 4 < 6 > 5 < 7 > 6 < 8
Số chỉ có một chữ số là số đơn điệu chiều dài 1
Hãy viết chương trình xác định số chữ số đầu tiên lớn nhất tạo thành số đơn điệu của một số cho trước
Nhập vào một số nguyên dương không quá 75 chữ số
Xuất ra số chữ số đầu tiên lớn nhất tạo thành số đơn điệu
BÀI 8: SỐ NGUYÊN TỐ GHÉP
Xét dãy A các số nguyên tố 2, 3, 5, 7, 11, 13, 17, 19,
và dãy B gồm các số thu được từ dãy A bằng cách ghép hai số liên tiếp trong A: 23, 57, 1113, 1719,
Trong dãy B cĩ những phần tử là số nguyên tố Chẳng hạn 23, 3137, 8389, 157163
Các số nguyên tố trong dãy B gọi là số nguyên tố ghép
Yêu c u: Cho tr c s nguyên d ng K 500, hãy tìm s nguyên t ghép th K ưới hình trên ta cĩ dữ liệu vào, ra: ố nguyên dương K ≤ 500, hãy tìm số nguyên tố ghép thứ K ương K ≤ 500, hãy tìm số nguyên tố ghép thứ K ≤ 500, hãy tìm số nguyên tố ghép thứ K ố nguyên dương K ≤ 500, hãy tìm số nguyên tố ghép thứ K ố nguyên dương K ≤ 500, hãy tìm số nguyên tố ghép thứ K ứ K
BÀI 9: TỔNG 2 SỐ NGUYÊN TỐ
Trong một bức thư mà Christian Goldbach gửi cho Euler, ơng đã đề cập đến
phỏng đốn của mình: Mọi số tự nhiên chẵn lớn hơn 2 đều là tổng của 2 số nguyên tố Hãy lập chương trình để kiểm chứng phỏng đốn của Goldbach
Yêu cầu:
- Dữ liệu vào từ file GB.INP gồm nhiều dịng, dịng đầu là số test (<10), các dịng tiếp theo mỗi dịng ghi 1 số tự nhiên chẵn lớn hơn 2 (<32000)
- Dữ liệu ra là file GB.OUT gồm các dịng (mỗi dịng ứng với 1 test) - mỗi dịng
gồm 2 số nguyên tố cách nhau ít nhất 1 dấu cách cĩ tổng bằng số đã cho (hoặc khơng tìm
đ c – ghi là “khong”) ược – ghi là “khong”)
Input Output
3 8 12
3 5
5 7
Trang 4BÀI 10: ĐỊNH LÝ 6174
Dãy 6174 được tạo theo cách sau Số hạng đầu tiên của dãy là số nguyên dương n1 gồm bốn
chữ
số (bốn chữ số của số hạng đầu tiên này khơng đồng thời bằng nhau) Hai số mới (a1 và b1) được tạo thành từ số đầu tiên của dãy Số thứ nhất a1 cĩ được bằng cách sắp xếp các chữ số của n1 theo thứ tự giảm dần và số thứ nhì b1 cĩ được bằng cách sắp xếp các chữ số của n1
theo thứ tự tăng dần Số thứ nhì n 2 của dãy là hiệu a1 - b1 Tiếp tục, hai số a2 và b2 được tạo thành từ n2 tương tự như a1 và b1 và số thứ ba n3 của dãy 6174 là hiệu a2 - b2, và cứ thế tiếp tục Dãy số kết thúc khi các số hạng của dãy bắt đầu lặp lại (nghĩa là các phần tử của dãy đơi một khác nhau) Chữ số 0 ở đầu số (vị trí thứ nhất tính từ bên trái) vẫn cĩ nghĩa
Định lý 6174 phát biểu rằng số hạng cuối của dãy số xây dựng như trên luơn là số 6174.
Chẳng hạn, xét dãy mà số hạng đầu tiên (n1) là 7815 Ta cĩ:
Bài tốn:
Cho trước số hạng đầu tiên của dãy 6174 Cho biết chỉ số của số hạng cuối (là số hạng 6174) của
dãy
Dữ liệu:
Cho trong tập tin văn bản DL6174.INP, gồm một dịng gồm số nguyên dương duy nhất là số hạng đầu tiên của dãy số 6174
Kết quả:
Cho trong tập tin văn bản DL6174.OUT, gồm một dịng gồm số nguyên dương duy nhất là
số
hiệu của số hạng cuối của dãy số 6174 mà số hạng đầu cho trong tập tin dữ liệu
Ví dụ:
Trang 5BÀI 11: DIỆN TÍCH CÁC HÌNH
Cho hình chữ nhật ABCD cĩ chiều dài AB là a (cm), chiều rộng AD là b (cm) với a, b là các số nguyên dương khơng vượt quá 10000 Một điểm M trên đoạn BC, một điểm N trên đoạn CD sao cho độ dài (tính bằng cm) các đoạn BM, CN bằng nhau và là số nguyên khơng âm
Yêu cầu:
1 Biết độ dài BM, tính diện tích hình chữ nhật ABCD và diện tích tam giác MCN 2.Tìm giá trị lớn nhất và giá trị nhỏ nhất của diện tích tam giác AMN khi M, N thay đổi
Dữ liệu vào: Dữ liệu của bài tốn cho trong tệp tin DIENTICH.INP gồm ba số a, b, x (xb
a, x là độ dài BM trong yêu cầu 1) được ghi trên cùng một dịng theo đúng thứ tự trên, hai
số liên tiếp cách nhau một khoảng trắng
Dữ liệu ra: Kết quả ghi ra màn hình (hoặc ghi ra file DIENTICH.OUT) trên 5 dịng:
- Dịng đầu là ba số a, b và x
- Dịng thứ hai là diện tích hình chữ nhật ABCD
- Dịng thứ ba là diện tích tam giác MCN
- Dịng thứ tư là giá trị lớn nhất của diện tích tam giác AMN
- Dịng thứ năm là giá trị nhỏ nhất của diện tích tam giác AMN
(Các giá trị diện tích được ghi trong dạng thập phân với 1 chữ số sau dấu phẩy)
Ví dụ:
DIENTICH.INP Kết quả trên màn hình (hoặc file
DIENTICH.OUT)
60.0 4.0 30.0 17.5
Hạn chế kỹ thuật:
- Ghi tên file bài làm là DIENTICH.PAS.
- Dữ liệu vào là chính xác khơng cần kiểm tra.
- Nếu khơng nhập được dữ liệu vào từ file, thí sinh cĩ thể nhập dữ liệu vào từ bàn phím
- Cĩ khoảng 60% số bộ test cĩ a < 100.
BÀI 12: ĐỌC SỐ LA MÃ
Viết chương trình nhập vào 1 số la mã rồi biến đổi thành số thập phân
M
N