Tuyển sinh lớp 10 chuyên · môn Tin học

Tuyển sinh lớp 10 THPT chuyên · Phú Thọ · Tin học chuyên · 2026

Đề thi chính thức kỳ thi tuyển sinh vào lớp 10 THPT năm học 2026–2027, môn Tin học (dành cho thí sinh dự thi lớp chuyên Tin), Sở GD&ĐT tỉnh Phú Thọ. Đề gồm 4 bài lập trình, mỗi bài 2,5 điểm; thời gian 150 phút. Thí sinh làm bài bằng Pascal, C/C++ hoặc Python.

Đề chính thứcCó lời giảiMiễn phí
4
câu hỏi
150
phút
10
điểm tối đa
2,5
điểm mỗi câu

Cấu trúc đề thi

  1. Lập trình

    4 bài

    10 điểm

Câu hỏi mẫu

3 câu đầu của đề. Vào phần làm thử để trả lời và biết ngay mình đúng hay sai.

  1. Câu 1 · Tự luận
    Lập trình — đếm tổ hợp đường đi2,5 điểm
    **Tổng quan đề thi** | Câu | Tên bài | Chương trình | Dữ liệu | Kết quả | Giới hạn | Điểm | |-----|---------|--------------|---------|---------|----------|------| | 1 | Tuyến xe buýt | CAU1.* | Nhập từ bàn phím | Ghi ra màn hình | 1s/test | 2.5 | | 2 | Số đẹp | CAU2.* | Nhập từ bàn phím | Ghi ra màn hình | 1s/test | 2.5 | | 3 | Phân tách mảng | CAU3.* | Nhập từ bàn phím | Ghi ra màn hình | 1s/test | 2.5 | | 4 | Ghép số | CAU4.* | Nhập từ bàn phím | Ghi ra màn hình | 1s/test | 2.5 | *Lưu ý: Thí sinh thay \* trong tên chương trình thành PAS hoặc CPP hoặc PY tùy theo ngôn ngữ lập trình mà thí sinh sử dụng là Pascal, C/C++ hoặc Python.* --- **Câu 1: Tuyến xe buýt (2,5 điểm)** Một tỉnh có 3 bến xe buýt trung tâm $A$, $B$, $C$. Giữa bến $A$ và bến $B$ có $x$ tuyến xe buýt, giữa bến $B$ và bến $C$ có $y$ tuyến xe buýt, giữa bến $C$ và bến $A$ có $z$ tuyến xe buýt. Biết rằng để đi từ bến này đến bến kia, thì hành khách bắt buộc phải đi qua bến còn lại. Hãy cho biết số cách đi nhiều nhất từ một bến đến một bến khác. *Ví dụ:* Giữa bến $A$ và bến $B$ có 4 tuyến xe buýt, giữa bến $B$ và bến $C$ có 3 tuyến xe buýt, giữa bến $C$ và bến $A$ có 2 tuyến xe buýt. Khi đó số cách đi từ bến $A$ đến bến $C$ (phải bắt buộc đi qua bến $B$) là $4\times 3=12$ cách, số cách đi từ bến $C$ đến bến $B$ (bắt buộc phải đi qua bến $A$) là $4\times 2=8$ cách, số cách đi từ bến $B$ đến bến $A$ (bắt buộc phải đi qua bến $C$) là $3\times 2=6$ cách. Vậy số cách đi nhiều nhất giữa hai bến là 12 cách. **Yêu cầu:** Hãy viết chương trình tính số cách đi nhiều nhất giữa 2 bến. **Dữ liệu** (Nhập từ bàn phím): Ba số nguyên $x,y,z$ ($1\le x,y,z\le 10^{6}$) trên một dòng, mỗi số cách nhau bởi một dấu cách. **Kết quả** (Ghi ra màn hình): Một số nguyên duy nhất là số cách đi nhiều nhất. **Ví dụ:** | Nhập từ bàn phím | Ghi ra màn hình | |------------------|-----------------| | 4 3 2 | 12 | **Ràng buộc:** - Subtask 1: 80% số điểm có $1\le x,y,z\le 1000$. - Subtask 2: 20% số điểm không có ràng buộc gì thêm.
  2. Câu 2 · Tự luận
    Lập trình — sàng số và kiểm tra tính chất2,5 điểm
    **Tổng quan đề thi** | Câu | Tên bài | Chương trình | Dữ liệu | Kết quả | Giới hạn | Điểm | |-----|---------|--------------|---------|---------|----------|------| | 1 | Tuyến xe buýt | CAU1.* | Nhập từ bàn phím | Ghi ra màn hình | 1s/test | 2.5 | | 2 | Số đẹp | CAU2.* | Nhập từ bàn phím | Ghi ra màn hình | 1s/test | 2.5 | | 3 | Phân tách mảng | CAU3.* | Nhập từ bàn phím | Ghi ra màn hình | 1s/test | 2.5 | | 4 | Ghép số | CAU4.* | Nhập từ bàn phím | Ghi ra màn hình | 1s/test | 2.5 | *Lưu ý: Thí sinh thay \* trong tên chương trình thành PAS hoặc CPP hoặc PY tùy theo ngôn ngữ lập trình mà thí sinh sử dụng là Pascal, C/C++ hoặc Python.* --- **Câu 2: Số đẹp (2,5 điểm)** Một số nguyên dương $x$ được gọi là **số đẹp** nếu nó đồng thời thỏa mãn hai điều kiện: - Tổng các chữ số của $x$ là một số nguyên tố. - $x$ chia hết cho tổng các chữ số của nó. *Ví dụ:* Các số 12; 20; 21; 30 là số đẹp nhưng các số 6; 8; 11; 19 không phải là số đẹp. **Yêu cầu:** Cho số nguyên dương $N$, hãy viết chương trình cho biết trong đoạn $[1,N]$ có bao nhiêu số đẹp. **Dữ liệu** (Nhập từ bàn phím): Một số nguyên dương $N$ ($1\le N\le 10^{7}$). **Kết quả** (Ghi ra màn hình): Một số nguyên là số lượng số đẹp tìm được. **Ví dụ:** | Nhập từ bàn phím | Ghi ra màn hình | Giải thích | |------------------|-----------------|------------| | 20 | 6 | Các số đẹp là: 2, 3, 5, 7, 12, 20 | **Ràng buộc:** - Subtask 1: 80% số điểm có $N\le 10^{4}$. - Subtask 2: 20% số điểm không có ràng buộc gì thêm.
  3. Câu 3 · Tự luận
    Lập trình — tiền tố cộng dồn và cực trị2,5 điểm
    **Tổng quan đề thi** | Câu | Tên bài | Chương trình | Dữ liệu | Kết quả | Giới hạn | Điểm | |-----|---------|--------------|---------|---------|----------|------| | 1 | Tuyến xe buýt | CAU1.* | Nhập từ bàn phím | Ghi ra màn hình | 1s/test | 2.5 | | 2 | Số đẹp | CAU2.* | Nhập từ bàn phím | Ghi ra màn hình | 1s/test | 2.5 | | 3 | Phân tách mảng | CAU3.* | Nhập từ bàn phím | Ghi ra màn hình | 1s/test | 2.5 | | 4 | Ghép số | CAU4.* | Nhập từ bàn phím | Ghi ra màn hình | 1s/test | 2.5 | *Lưu ý: Thí sinh thay \* trong tên chương trình thành PAS hoặc CPP hoặc PY tùy theo ngôn ngữ lập trình mà thí sinh sử dụng là Pascal, C/C++ hoặc Python.* --- **Câu 3: Phân tách mảng (2,5 điểm)** Cho một dãy gồm $n$ số nguyên $a_{1},a_{2},\ldots,a_{n}$. Bạn cần thực hiện các bước sau theo đúng thứ tự: 1. Chọn một chỉ số $k$ ($1\le k\le n-1$). 2. Chia dãy số trên thành hai phần: $a_{1},a_{2},\ldots,a_{k}$ và $a_{k+1},a_{k+2},\ldots,a_{n}$. 3. Loại bỏ một phần tử duy nhất từ mỗi phần. Gọi $c$ là tổng các phần tử của phần kết quả thứ nhất (sau khi loại bỏ) và $d$ là tổng các phần tử của phần kết quả thứ hai (sau khi loại bỏ). Nhiệm vụ của bạn là tìm giá trị lớn nhất có thể của $|c-d|$. Nói cách khác, tìm chênh lệch lớn nhất của hai phần sau khi thực hiện các bước trên. Bạn có thể coi tổng của phần rỗng bằng 0 (nếu sau khi loại bỏ phần nào đó trở nên rỗng). **Dữ liệu** (Nhập từ bàn phím): - Dòng đầu: một số nguyên $n$ ($2\le n\le 10^{5}$) là số phần tử của dãy. - Dòng thứ hai: $n$ số nguyên $a_{1},a_{2},\ldots,a_{n}$ ($-10^{3}\le a_{i}\le 10^{3}$). **Kết quả** (Ghi ra màn hình): - Một số nguyên duy nhất là giá trị lớn nhất có thể của $|c-d|$ sau khi thực hiện các bước như mô tả. **Ví dụ:** | Nhập từ bàn phím | Ghi ra màn hình | |------------------|-----------------| | 2<br>-1 2 | 0 | | 4<br>2 5 4 -7 | 12 | **Ràng buộc:** - Subtask 1: 10% số điểm, $n\le 3$. - Subtask 2: 30% số điểm, $a_{i}=a_{j},\ 1\le i,j\le n$. - Subtask 3: 30% số điểm, $n\le 300$. - Subtask 4: 30% số điểm, không có ràng buộc gì thêm.

Nộp bài xong là có đáp án và lời giải chi tiết cho từng câu.