Bài 1: Dãy số hạnh phúc

Dãy số nguyên dương a1, a2, ..., an là dãy số hạnh phúc nếu:

+ Là dãy số giảm dần

+ Với mỗi a(i) với i>1 thì a(i) hoặc là số nguyên tố hoặc là ước của một trong các số từ a(1) đến a(i-1)

Lập trình nhập từ bàn phím số nguyên dương N<=1000 sau đó đưa ra màn hình dãy số hạnh phúc bắt đầu từ N

VD:

N=5 thì DSHP: 5 3 2 1

N=8 thi DSHP: 8 7 5 4 3 2 1

Bài 2

Số nguyên tố rút gọn của một số tự nhiên n chính là tổng các ước nguyên tố của n.

Ví dụ: n=252=2.2.3.3.7 (n có 3 ước nguyên tố là 2, 3 và 7)

Số nguyên tố rút gọn của n là 2+3+7=12

Yêu cầu:

a/ Nhập số tự nhiên n từ bàn phím, in ra số nguyên tố rút gọn của n. (1<n<1000000)

b/ Nhập 2 số nguyên a, b không vượt quá 10000 (a<b). In ra các số có cùng số nguyên tố rút gọn với n trong đoạn a đến b và số lượng các số tìm được.

Bài 3:

Cho xâu kí tự S bao gồm toàn các ký tự ‘a’ và ‘b’, không quá 255 ký tự. Dãy con đúng của dãy S là một dãy con liên tục bất kì của S bao gồm các ký tự giống nhau. Dãy con đúng bậc 1 của dãy S là một dãy con liên tục bất kỳ của dãy S bao gồm các ký tự giống nhau nhưng được thêm 1 ký tự khác (ví dụ ‘aaaabaaa’, baaaa, aaaab). Trường hợp đặc biệt, dãy S chỉ có 1 loại ký tự thì dãy con đúng cũng chính là dãy con đúng bậc 1.

Yêu cầu:

a/ Hãy tính độ dài lớn nhất dãy con đúng của dãy S.

b/ Hãy tính độ dài lớn nhất dãy con đúng bậc 1 của dãy S.

Ví dụ: ‘aaabaaabbaaaaa’

Độ dài lớn nhất của dãy con đúng: 5 (‘aaabaaabbaaaaa’)

Độ dài lớn nhất của dãy con đúng bậc 1: 7 (‘aaabaaabbaaaaa’)

Bài 4:

Cho trước tập tin văn bản INPUT.INP gồm nhiều dòng (không quá 1000 dòng), mỗi dòng chứa một chuỗi ký tự (gồm các chữ cái từ ‘A’ đến ‘Z’ viết dính liền với nhau), mỗi chuỗi dài không quá 255 ký tự. Trong tập tin này có duy nhất một chuỗi xuất hiện đúng một lần, các chuỗi còn lại đều xuất hiện đúng k lần. (Số k không cho trước, nhưng biết rằng k là một số chẵn và k≠0).

Yêu cầu:

Viết chương trình đọc tập tin INPUT.INP xử lý và tìm chuỗi duy nhất đó, ghi kết quả tìm được vào tập tin văn bản OUTPUT.OUT.

Kết quả: Tập tin OUTPUT.OUT có một dòng là chuỗi ký tự tìm được theo yêu cầu.

Bài 5:ĐỘ DẦY VÀ ĐỘ CAO

+ Định nghĩa: Một số tự nhiên N. Độ dầy số tự nhiên N là số chữ số của N, độ cao số tự nhiên N là tổng các chữ số của N.

Chẳng hạn: N = 232 thì N có độ dầy là 3, độ cao là 7.

+ Yêu cầu: Cho trước số tự nhiên N. Tính độ dầy và độ cao của số tự nhiên N.

+ Dữ liệu vào: Từ tệp văn bản SO.INP chỉ có 1 dòng chứa số tự nhiên N (1<=N<1016).

+ Kết quả: Ghi ra tệp văn bản SO.OUT có dạng:

- Dòng đầu tiên ghi độ dầy của số N.

- Dòng kế tiếp ghi độ cao của số N.

BÀI 6:CHUẨN HÓA VĂN BẢN

+ Định nghĩa: Một văn bản được gọi là văn bản chuẩn nếu:

- Hai từ liền nhau có duy nhất một dấu cách trống;

- Dấu ngắt câu (dấu chấm, dấu phẩy, dấu chấm phẩy, dấu chấm hỏi, dấu chấm than) được đặt sát vào từ ngay trước nó, sau đó mới đến dấu cách trống;

- Dấu mở ngoặc đơn đặt sát vào phía bên trái của từ bắt đầu mở ngoặc;

- Dấu đóng ngoặc đơn đặt sát bên phải từ cuối cùng được đóng ngoặc.

+ Yêu cầu: Cho trước một văn bản, kiểm tra và đưa đoạn văn bản về dạng văn bản chuẩn.

+ Dữ liệu vào: từ tệp văn bản VANBAN.INP, gồm nhiều dòng, mỗi dòng không quá 255 kí tự.

+ Kết quả: ghi ra tệp văn bản VANBAN.OUT lưu trữ đoạn văn bản đã được chuẩn hóa.

BÀI 7:TỔNG LỚN NHẤT

Cho một bảng A gồm N x N sốnguyên (N ≤ 100), các dòng được đánh số trên xuống dưới bắt đầu từ 1, các cột được đánh số từ trái qua phải cũng bắt đầu từ 1. Mỗi số trong bảng có giá trị tuyệt đối không vượt quá 10000. Đường chéo chính của bảng là

đường thẳng nối hai ô (1,1) và (N,N). Như vậy trên bảng có 2N-1 đuờng chéo song song với đường chéo chính.

+ Yêu cầu: Hãy tìm đường chéo song song với đường chéo chính có tổng các phần tử trên đường chéo đó là lớn nhất.

+ Dữ liệu vào: Cho từ tệp văn bản TONG.INPcó dạng:

- Dòng đầu chứa số N.

- Dòng thứ i trong N dòng tiếp theo chứa N số nguyên lần lượt ứng với các phần tử nằm trên dòng thứ i của bảng A.

+ Kết quả: Ghi ra tệp văn bản TONG.OUT có một dòng chứa duy nhất một số nguyên là tổng lớn nhất các phần tử trên đường chéo tìm được.

Bài 8: Tính khoảng cách

Một trường THCS tổ cức cho giáo viên và học sinh của trường mình đi cắm trại, sinh hoạt ngoài trời ở vườn quốc gia Cúc Phương. Để lên lịch đến thăm khu trại các lớp, thầy hiệu trưởng cần biết khoảng cách từ trại của mình, ở vị trí có tọa độ (0,0) đến trại giáo viên chủ nhiệm đều có tọa độ nguyên (x,y) được ghi trong tệp văn bản TRAI.TXT chứa liên tiếp các cặp số nguyên, các số cách nhau bởi dấu cáh và không kết thúc bằng kí tự xuống dòng.

Lập trình để đọc các cặp tọa độ từ tệp TRAI.TXT, tính rồi đưa ra màn hình khoảng cách (với tọa độ chính xác hai chữ số sau dấu chấm thập phân) giữa trại của mỗi giáo viên chủ nhiệm và trại của thầy hiệu trưởng.

Bài 9:

Viết chương trình nhập từ bàn phím số nguyên dương N (N<<100) và dãy A gồm N số nguyên a1, a2, a3, …, an có giá trị tuyệt đói không lớn hơn 1000. Hãy đưa ra những thông tin sau:

Số lượng số chẵn và số lẻ trong dãy.

Số lượng số nguyên tố trong dãy.

Câu 10:

Nhập vào một số tự nhiên. Lập trình trả lời các câu hỏi sau:

- n có bao nhiêu chữ số?

- Tổng các chữ số của n bằng bao nhiêu?

- Tìm chữ số đầu tiên của n.

- Giả sử trong cách biểu hiện thập phân của n có dạng sau: akak-1 … a2a1a0.

Hãy tính tổng S = ak – ak-1 + ak-2 – … a0.

- Nhập vào số m(m ≤ số chữ số của n). Hãy tính tổng m chữ số cuối cùng của n.

Câu 11:

Cho một bàn cờ vuông 8 x 8 trên đó cho trước một số quân cờ. Ví dụ hình vẽ sau đây là một bàn cờ như vậy:

* * *

* * * *

* * * *

* *

*

* * *

* * *

* * *

Dữ liệu ghi trên tệp văn bản BANCO.TXT bao gồm 8 dòng, mỗi dòng là một sâu nhị phân độ dài 8. Vị trí các quân cờ ứng với số 1, các ô trống ứng với số 0. Ví dụ tệp BANCO.TXT ứng với bàn cờ trên:

01010100

10011001

10100011

00010100

00100000

01010001

10011000

01000110

Hãy viết chương trình PASCAL tính số quân cờ liên tục lớn nhất nằm trên một đườc thẳng trên bàn cờ. Đường thẳng ở đây có thể là đường thẳng đứng, đường nằm ngang hoặc đường chéo. Kết quả thể hiện trên màn hình.

Với ví dụ trên chương trình phải in trên màn hình kết quả là 4.

Câu 12:

Nhập vào 1 số tự nhiên N với (0 < N ≤ 65535), phân tích số vừa nhập thành các thừa số nguyên tố, nếu số vừa nhập là số nguyên tố thì chỉ thông báo ra màn hình đây là số nguyên tố.

Ví dụ:

- Nếu số vừa nhập là 300, thì in ra màn hình 300 = 2. 2. 3. 5. 5

- Nếu số vừa nhập là 307, thì in ra màn hình “307 là số nguyên tố”.:yy09: