21 Đề thi học sinh giỏi Tin học THCS Python có đáp án 2025-2026
21 Đề thi học sinh giỏi Tin học THCS Python có đáp án 2025-2026
5/5 - (1 bình chọn)
Để có thể giải đề thi học sinh giỏi Tin học THCS tốt và đạt được điểm cao không còn cách nào khác là thường xuyên luyện đề thi. Do đó thầy đã tuyển chọn ra được 21 Đề thi học sinh giỏi Tin học THCS Python có đáp án để các em có thể rèn luyện cho tốt nhé !
Rồi các em vào thi thử đề thi HSG Tin học của huyện Cái Bè
Đề thi học sinh giỏi tin 9 Python
Tài liệu bồi dưỡng HSG Tin học THCS Python
TỔNG QUAN CÁC BÀI THI
Bài
Tên hài
Tên File Dữ liệu vào
File kết quả
Bài 1
Tổng các ước
USUM.*
USUM.INP
USUM.OUT
Bài 2
Dây ký tự số
STRING.*
STRING.INP
STRING.OUT
Bài 3
Đào vàng
GOLD.*
GOLD.INP
GOLD.OUT
Bài 4
Bộ ba hoàn hảo
HOANHAO.*
HOANHAO.INP
NOANIIAO.OUT 1
Dấu .* được thay thế bởi phần mở rộng của các ngôn ngữ lập trình sử dụng.
Em hãy sử dụng ngôn ngữ lập trình để giải các bài toán sau:
Bài 1: Tổng các ước (5.0 điểm) ?
Viết tính tổng các ước của các ước số (là số chính phương) của số nguyên N.
Ví dụ:
Với N= 20 có các ước là {1, 2, 4, 5, 10, 20} nhưng ước là số chính phương là (1,4)
Các ước của 1 là (1)
Các ước của 4 là {1,2, 4}
Tổng các ước của các ước số (là số chính phương) của 20 là: 1 + 1 + 2 + 4 = 8
Dữ liệu: Vào từ file văn bản USUM.INP chứa số nguyên N (1<N<I06).
Kết quả : Ghi ra file văn bản USUM.OUT chứa tổng các ước của các ước số (là số chính phương) của số nguyên N. Nếu không có xuất số 0.
USUM.INP
USUM.OUT
20
8
16
39
Bài 2: Dãy ký tự số (5,0 điểm) ?
Diễn giải:
Cậu bé Bin vừa tròn 4 tuổi thường hay nghịch máy tính của bố.
Có lần trong lúc bố đang nghe điện thoại bên ngoài, Bin lại nghịch và gỗ ngẫu nhiên các phím trên bàn phím, đến khi bố cậu trở lại thì trên màn hình đã là một dãy ký tự.
Kỳ lạ thay mặc dù là gỗ ngẫu nhiên nhưng có những lúc cậu ấy chỉ toàn gõ vào các phím số
Yêu cầu: Cho xâu ký tự s là dãy các ký tự mà Bin đã gõ vào, hãy cho biết Bin đã gõ liên tiếp các phím số nhiều nhất là bao nhiêu lần?
Dữ liệu vào: Cho từ tệp văn bản có len STRING.INP gồm một dòng chứa xâu ký tự s (độ dài xâu không quá 250 ký tự).
Kết quả: Ghi ra tệp văn bản tên STRING.OUT có dạng:
Dòng đầu ghi số lần nhiều nhất mà Bin gõ liên tiếp các phím số.
Nếu có ký tự số được gõ vào dòng thứ hai ghi dãy các số mà Bin gõ liên tiếp nhiều nhất đó. Nếu có nhiều dãy cũng có số lần gõ nhiều nhất thì in ra dãy đầu tiên
Ví dụ:
STRING.INP
STRING.OUT
sidh25jsh00491sadjh2763smdajk
5
00491
Bài 3: Tìm vàng (5,0 điểm) ?
Diễn giải:
Một thợ đào vàng đào được một khối vật chất (là một chuỗi các kí tự) trong đó các số tự nhiên trong chuỗi được gọi là vàng.
Ví dụ: Khối vật chất là B3a34afc. Tổng số vàng tìm được là 3+34=37
Khối vật chất là 3a34-123. Tổng số vàng tìm được là 3+34+123=160
Yêu cầu: Chuối không quá 255 kí tự. các chữ số liên tiếp nhau sẽ tạo thành một số tự
nhiên.
Dữ liệu: Vào từ file văn bản GOLD.INP chứa câu chưa được sửa lỗi (có độ dài không quá 255 kí tự).
Kết quả: Ghi ra từ file văn bản GOLD.OƯT chứa câu đã được sửa lỗi.
GOLD.INP
GOLD.OUT
B3a34afc
37
3a34-123
160
Virus
0
Bài 4: Bộ ba hoàn hảo (5,0 điểm) ?
Diễn giải:
Một trò chơi có N người tham gia, mỗi người mang trong người một điểm số.
Tìm tất cả các bộ ba có thể trở thành bộ ba hoàn hảo, bộ ba hoàn hảo là một bộ ba người có tổng số điểm bằng 100.
Ví dụ: Có 10 người tham gia trò chơi với số điểm lần lượt là 10, 20, 30, 40, 50,60,15,25, 35, 45. Danh sách tất cả các bộ ba hoàn hảo có thể là:
10,30,60
10,40,50
20, 30,50
20,35,45
40,15,45
40, 25,35
50,15,35
60,15,25
Lưu ý: Không phân biệt vị trí các phần tử trong một bộ chẳng hạn: bộ 10,30,60 hay 30,60,10 đều tính đúng và tính là một bộ hoàn hảo.
Yêu cầu:
Số người tham gia N là một số tự nhiên (N < 20). Số điểm của mỗi người là một số tự nhiên không vượt quá 100.
Trong trường hợp không tìm được bộ ba hoàn hảo thì kết quả là một danh sách trống.
Dữ liệu vào: Từ file văn bản HOANHAO.INP chứa hai dòng:
Dòng thứ nhất là số người tham gia N
Dòng thứ hai số điểm tương ứng của từng người.
Kết quả: Ghi ra từ file văn bản HOANHAO.OUT chứa tất cả các bộ ba hoàn hảo.
HOANHAO.INP
HOANHAO.OUT
10
10 30 60
10 20 30 40 50 60 15 25 35 45
10 40 50
20 30 50
20 35 45
30 25 45
40 15 45
40 25 35
50 15 35
60 15 25
———————————————————————————————————————
5
10 40 50
10 20 30 40 50
20 30 50
HẾT
Thí sinh không được sử dụng tài liệu. Cán bộ coi thi không giải thích gì thêm.
Họ và tên thí sinh:……………………………. Số báo danh:……………………………….
Đáp án bài 1: Tổng các ước (5.0 điểm) ?
import sys,math
sys.stdin=open('USUM.INP','r')
sys.stdout=open('USUM.OUT','w')
def ktcp(n):
if n<0:
return False
x=int(math.sqrt(n))
return x*x==n
def tonguoc(n):
tong=0
for i in range(1,n+1):
if n%i==0:
tong+=i
return tong
n=int(input())
tong=0
for i in range(1,n+1):
if n%i==0 and ktcp(i):
tong+=tonguoc(i)
print(tong)
Đáp án bài 2: Dãy ký tự số (5,0 điểm) ?
import sys,re
sys.stdin=open('STRING2.INP','r')
sys.stdout=open('STRING2.OUT','w')
s=input()
a=re.sub('[^0-9]+',' ',s).split()
b=[]
for i in range(len(a)):
b.append(len(a[i]))
if len(a)>0:
for i in range(len(a)):
if len(a[i])==max(b):
print(len(a[i]))
print(a[i])
break
else:
print('0')
Đáp án bài 3: Tìm vàng (5,0 điểm) ?
import sys,re
sys.stdin=open('GOLD.INP','r')
sys.stdout=open('GOLD.OUT','w')
s=input()
a=re.sub('[^0-9]+',' ',s).split()
tong=0
for i in range(len(a)):
tong+=int(a[i])
print(tong)
Đáp án bài 4: Bộ ba hoàn hảo (5,0 điểm) ?
import sys
sys.stdin=open('HOANHAO.INP','r')
sys.stdout=open('HOANHAO.OUT','w')
n=int(input())
a=list(map(int,input().split()))
for i in range(len(a)-2):
for j in range(i+1,len(a)-1):
for k in range(j+1,len(a)):
if (a[i]+a[j]+a[k])==100:
print(a[i],a[j],a[k])
Miễn phí 10% khóa học lập trình Python online “Hãy đăng ký ngay để được khuyến mãi !”
Qua đường dây nóng hỏi: 093.717.9278 ( Gặp Thầy Tấn Dân Cử Nhân Công Nghệ Thông Tin)
Thầy Dân chuyên bồi dưỡng môn tin học thi học sinh giỏi cấp huyện, cấp tỉnh, ôn luyện thi vào Trường Chuyên Tin.
Bằng khen thi học sinh giỏi Tin Học cấp huyện
Khóa học Python online từ cơ bản đến nâng cao
Trung tâm tin học Tấn Dân
Thông tin Khuyến mãi giảm giá học phí!
Giảm giá ưu đãi 100.000 đ khi đăng ký 2 bạn sinh viên học sinh trở lên !
Giảm 15% khi tham gia 3 bạn sinh viên học sinh trở lên
Lưu ý :
Để nhận Ưu đãi học viên vui lòng đăng ký qua số điện thoại gặp Thầy Dân qua số điện thoại & Zalo: 0937.179.278
Học phí tham gia khóa học Online 1.600.000 trong 7 tháng.
Học từ cơ bản đến nâng cao và đến giải đề thi cấp Huyện.
Trong nhiều chính sách ưu đãi học viên chỉ áp dụng chính sách ưu đãi cao nhất!
Có nhận học viên thường xuyên
Thời gian học từ thứ 3 và thứ 5; từ 2 giờ đến 4 giờ hàng tuần.
Hãy đăng ký ngay để nhận ưu đãi đến hết ngày 10 tháng 10 năm 2024 !
Đề tài thi khoa học kỹ thuật cấp huyện:
Học lập trình Python sáng tạo phần mềm ” Nhà Thông Minh “ điều khiển bằng giọng nói hoặc nút bấm
Đề tài Nhà Thông Minh sử dụng năng lượng điện tuần hoàn
Đề tài dự án kĩ thuật Ngôi nhà thông minh sử dụng năng lượng điện tuần hoàn
Các em muốn theo học hãy nhanh tay đăng ký để được hưởng ưu đãi tốt nhất các em nhé !
Vi Tính Tấn Dân
Mình rất đam mê về máy vi tính và máy in. Và mình đã đeo đuổi ước mơ và làm việc về máy vi tính mới đây mà đã 15 năm. Mình thích chia sẻ mọi kiến thức và kinh nghiệm mà mình có được cho tất cả các bạn ! Trong khi mình viết nếu có điều gì thiếu sót mong các bạn thông cảm cho mình nhé ! Mình Cám ơn trước !