From 2f674dc80f0382f1c3178f435714960734dc9d3c Mon Sep 17 00:00:00 2001 From: Nguyễn Gia Phong Date: Sat, 6 Jun 2020 21:33:13 +0700 Subject: Reorganize stuff from secondary school --- 11/Q-2017/README.md | 119 ---------------------------------------------------- 11/Q-2017/cau1.scm | 8 ---- 11/Q-2017/cau2.scm | 5 --- 11/Q-2017/cau3.scm | 7 ---- 11/Q-2017/cau4.scm | 11 ----- 5 files changed, 150 deletions(-) delete mode 100644 11/Q-2017/README.md delete mode 100644 11/Q-2017/cau1.scm delete mode 100644 11/Q-2017/cau2.scm delete mode 100644 11/Q-2017/cau3.scm delete mode 100644 11/Q-2017/cau4.scm (limited to '11') diff --git a/11/Q-2017/README.md b/11/Q-2017/README.md deleted file mode 100644 index 1342abb..0000000 --- a/11/Q-2017/README.md +++ /dev/null @@ -1,119 +0,0 @@ -# KÌ THI CHỌN HỌC SINH GIỎI CẤP CỤM TRƯỜNG THPT NĂM HỌC 2016-2017 - -**Môn thi:** Tin học - Lớp 11 -**Ngày thi:** 01/03/2017 -**Thời gian làm bài:** 150 phút - -## Tổng quan bài thi - -| Câu | Điểm | Tệp dữ liệu | Tệp kết quả | -| :---: | :---: | :---------: | :---------: | -| 1 | 5 | CAU1.INP | CAU1.OUT | -| 2 | 5 | CAU2.INP | CAU2.OUT | -| 3 | 5 | CAU3.INP | CAU3.OUT | -| 4 | 5 | CAU4.INP | CAU4.OUT | - -## Câu 1: Ước số - -Cho trước số nguyên dương n. - -### Yêu cầu - -Tìm số lượng các ước nguyên dương của n. - -### Dữ liệu - -Số nguyên dương n ≤ 109. - -### Kết quả - -Số lượng các ước nguyên dương của n tìm được. - -### Ví dụ - -| CAU1.INP | CAU1.OUT | Giải thích | -| :------: | :------: | ------------------------------------------------ | -| 12 | 6 | 12 có 6 ước nguyên dương là 1, 2, 3, 4, 6 và 12. | - -## Câu 2: Chi tiết máy - -Tại phân xưởng sản xuất chi tiết máy có tổng số nguyên liệu là s (đơn vị khối -lượng). Quy trình sản xuất chi tiết máy được thực hiện như sau: - -1. Từ nguyên liệu, người ta tạo ra các phôi, mỗi phôi có khối lượng là k (đơn - vị khối lượng); -2. Từ mỗi phôi, người ta tạo ra *các* chi tiết máy, mỗi chi tiết có khối lượng - m (đơn vị khối lượng). - -Sau đó phần nguyên liệu dư khi sản xuất phôi và chi tiết máy sẽ được thu lại để -tiếp tục sản xuất theo quy trình trên. - -### Yêu cầu - -Tìm số chi tiết máy nhiều nhất có thể sản xuất được, - -### Dữ liệu - -3 số nguyên dương s, k và m, mỗi số ≤ 109. - -### Kết quả - -Số chi tiết máy nhiều nhất có thể sản xuất được. - -### Ví dụ - -| CAU2.INP | CAU2.OUT | Giải thích | -| :------: | :------: | ---------------------------------------------------- | -| 13 5 3 | 3 | 13 nguyên liệu tạo 2 phôi, sản xuất được 2 chi tiết. | -| | | Dư 7 nguyên liệu, sản xuất thêm 1 chi tiết nữa. | -| | | Tổng cộng có 3 chi tiết được sản xuất. | - -## Câu 3: Tích lớn nhất - -Cho trước n số nguyên bất kì a1, a2, …, an. - -### Yêu cầu - -Tìm 2 số trong n số đã cho có tích lớn nhất. - -### Dữ liệu - -* Dòng đầu chứa số nguyên dương n, 2 ≤ n ≤ 104; -* Dòng sau chứa n số nguyên bất kì có giá trị tuyệt đối ≤ 104. - -### Kết quả - -Tích hai số có giá trị lớn nhất. - -### Ví dụ - -| CAU3.INP | CAU3.OUT | Giải thích | -| ---------------- | :------: | ----------------------------------------- | -| 4
-2 -7 -15 2 | 105 | Hai số -7 và -15 có tích lớn nhất là 105. | - -## Câu 4: Xâu đối xứng - -Xâu kí tự s gọi là xâu đối xứng nếu viết các kí tự của S theo thứ tự ngược lại -ta nhận được chính xâu S. - -Cho trước xâu X gồm các chữ cái tiếng Anh in hoa. - -### Yêu cầu - -Tìm cách viết thêm ít kí tự nhất vào cuối xâu X để nhận được xâu đối xứng S. - -### Dữ liệu - -Xâu X có không quá 100 kí tự. - -### Kết quả - -* Dòng đầu ghi số kí tự ít nhất phải viết thêm vào cuối xâu X để nhận được xâu - đối xứng S. -* Dòng thứ hai ghi xâu đối xứng S nhận được. - -### Ví dụ - -| CAU3.INP | CAU3.OUT | Giải thích | -| :------: | --------- | ----------------------------------------------------- | -| ABB | 1
ABBA | Thêm `A` vào cuối xâu `ABB` được xâu đối xứng `ABBA`. | diff --git a/11/Q-2017/cau1.scm b/11/Q-2017/cau1.scm deleted file mode 100644 index 5e59c49..0000000 --- a/11/Q-2017/cau1.scm +++ /dev/null @@ -1,8 +0,0 @@ -(define (cau1 n i) - (cond ((> (* i i) n) 0) - ((= (* i i) n) 1) - ((= (remainder n i) 0) (+ (cau1 n (+ i 1)) 2)) - (else (cau1 n (+ i 1))))) -(with-input-from-file "CAU1.INP" (lambda () - (with-output-to-file "CAU1.OUT" (lambda () - (format #t "~a\n" (cau1 (read) 1)))))) diff --git a/11/Q-2017/cau2.scm b/11/Q-2017/cau2.scm deleted file mode 100644 index 8a9b00f..0000000 --- a/11/Q-2017/cau2.scm +++ /dev/null @@ -1,5 +0,0 @@ -(define (cau2 s k m) (let* ((nk (quotient s k)) (nm (* (quotient k m) nk))) - (if (= nk 0) 0 (+ (cau2 (+ (remainder s k) (* (remainder k m) nk)) k m) nm)))) -(with-input-from-file "CAU2.INP" (lambda () - (with-output-to-file "CAU2.OUT" (lambda () - (format #t "~a\n" (cau2 (read) (read) (read))))))) diff --git a/11/Q-2017/cau3.scm b/11/Q-2017/cau3.scm deleted file mode 100644 index 31cd5c3..0000000 --- a/11/Q-2017/cau3.scm +++ /dev/null @@ -1,7 +0,0 @@ -(with-input-from-file "CAU3.INP" (lambda () - (with-output-to-file "CAU3.OUT" (lambda () - (define l (sort (let read-list ((n (read))) - (if (= n 0) '() (cons (read) (read-list (- n 1))))) <)) - (format #t "~a\n" - (max (* (list-ref l (- (length l) 1)) (list-ref l (- (length l) 2))) - (* (list-ref l 1) (list-ref l 0)))))))) diff --git a/11/Q-2017/cau4.scm b/11/Q-2017/cau4.scm deleted file mode 100644 index adf5fed..0000000 --- a/11/Q-2017/cau4.scm +++ /dev/null @@ -1,11 +0,0 @@ -(with-input-from-file "CAU4.INP" (lambda () - (with-output-to-file "CAU4.OUT" (lambda () - (define x (list->string (let read-string ((c (read-char))) - (if (or (eof-object? c) (char=? c #\newline)) - '() - (cons c (read-string (read-char))))))) - (let find-palin ((i 0)) - (if ((lambda (s) (string=? (string-reverse s) s)) - (string-copy x i (string-length x))) - (format #t "~a\n~a~a\n" i x (string-reverse (string-copy x 0 i))) - (find-palin (+ i 1)))))))) -- cgit 1.4.1