Danh mục: Giải đề 4 thi học sinh giỏi Tin Học THCS

Đề thi học sinh giỏi Tin Học THCS và THPT có đáp án giải đề 4

Thầy rất vui được gặp lại các em đam mê lập trình python nhé! Đây là đã qua đề 4 trong 20 Đề thi học sinh giỏi Tin Học THCS và THPT có đáp án kèm theo cho các em thuận tiện cho việc học ôn thi để các em chuẩn bị thi học sinh giỏi Tin Học cấp huyện sắp tới! Thầy chúc các em đạt điểm cao và đạt được thành tích tốt nhé!

Đề 4 thi học sinh giỏi Tin Học Trung Học Cơ Sở:

Thứ tự Tên hài File

chương

trình

File dữ liệu vào File kết quả
Bài 1 Tính cấp độ bão D041* D041.1NP D041.OUT
Bài 2 Tính trung bình cộng những số nguyên chẵn từ m đến n D042* D042.1NP D042.OUT
Bài 3 Tính trung bình cộng các số không chia hết cho 3 trong mảng D043 * D043.1NP D043.OUT
Bài 4 In các từ có chiều dài là số nguyên tố trong xâu s D044.* D044.INP D044.OUT
Bài 5 In số Harshad thứ n D045 * D045.INP D045.OUT

Bài 1: (4 điểm) Tính cấp độ bão

  • Diễn Giải : Nhập vào tốc độ gió (đơn vị km/h) của một cơn bão ờ ba địa điểm khác nhau, tính tốc độ gió trung bình. Cho biết cơn bão đó thuộc cấp nào sau đây:
    1. Nếu tốc độ gió trung bình dưới 89: Không phải bão
    2. Nếu tốc độ gió trung bình từ 89 đến dưới 102: cấp 10
    3. Nếu tốc độ gió trung  bình từ 102 đến dưới 117:   cấp 11
    4. Nếu tốc độ gió trung  bình từ 117 đến dưới 133:   cấp 12
    5. Nếu tốc độ gió trung bình từ 133 đến dưới 149:   cấp 13
    6. Nếu tốc độ gió trung bình lừ 149 đến dưới 166:   cấp 14
    7. Nếu tốc độ gió trung bình từ 166 đến dưới 183:   cấp 15
    8. Nếu tốc độ gió trung bình trên 183: Siêu bão
  • Input: Nhập vào 3 số nguyên a, b, c; mỗi số một dòng cho biết tốc độ gió của ở 3 địa điểm khác nhau (0<a, b, c<500).
  • Output: Hai dòng:
    • Dòng 1: Tốc độ gió trung bình (một chữ số thập phân)
    • Dòng 2: cấp bão
  • Ví dụ về input và output:
Input Output
100 111.3
120 Cap 11
114
130 95.0
70 Cap 10

 

Bài 2: (4 điểm) Tính trung bình cộng những số nguyên chẵn từ m đến n

  • Diễn giải: Nhập vào hai số nguyên m và n (m<=n). Tính trung bình cộng các số nguyên chẵn từ m đcn n.
  • Input: Hai số nguycn dương m và n (0<m, n<106), mồi số trcn một dỏng.
  • Output: Là trung bình cộng các số nguyên chẵn từ m đến n, làm tròn đến một chữ số thập phân. Nếu không có số chẵn nào từ m đến n thì in “0.0”
  • Ví dụ:
Input Output
11

15

13.0
2

13

7.0

 

Bài 3: (4 điểm) Tính trung bình cộng các số không chia hết cho 3 trong mảng

  • Diễn giải: Nhập vào một mảng a có n số nguyên: ao, ai, a2,an-i, tính trung bình cộng các số không chia hết cho 3 trong mảng
  • Input: Dòng một là số nguyên n (0<n<106), n dòng tiếp theo là n số nguyên có giá trị tuyệt đối không vượt quá 105
  • Output: Trung bình cộng các số không chia hết cho 3 trong mảng, làm tròn đến ba chữ số thập phân. Nếu không có số nào thỏa điều kiện thì in “0.000”
  • Ví Dụ:
Input Output
7

9

6

3

8

10

7

-2

5.750

 

5

20

7

6

8

0

11.667

Bài 4: (4 điểm) In các từ có chiều dài là số nguyên tố trong xâu s

  • Diễn giải: Nhập vào một xâu s. In các từ có chiều dài là số nguyên tố trong xâu s
  • Input: Xâu s trên một dòng, có độ dài không vượt quá 105, chứa các ký tự là chữ cái, chữ số, ký hiệu và các dấu cách.
  • Output: Các từ có chiều dài là số nguyên tố trong xâu theo thứ tự xuất hiện, các từ trên một dòng, cách nhau bởi dấu cách.
  • Ví dụ:

Input

Output

Toi hoc LAP TRINH C++ tu nam 2023 Toi hoc LAP TRINH C++ tu nam
Thi HOC SINH GIOI mon Tin Hoc Thi HOC mon Tin Hoc

Bài 5: (4 điểm) In sổ Harshad thứ n

  • Diễn Giải:
    • Nhập vào số nguyên dương n. In số Harshad thứ n
    • Số Harshad là một số tự nhiên n mà n chia hết cho tổng các chữ số của nó
    • Ví dụ:
    • n=18; tổng các chữ số của 18 là 1+8=9 và 18 chia hết cho 9 n=24; tổng các chữ số của 24 là 2+4=6 và 24 chia hết cho 6 Dãy số Harshad: 1, 2, 3,4, 5, 6, 7, 8, 9, 10, 12, 18, 20, 21, 24,27,…
    • Số 1 là số Harshad thứ 0
  • Input: Một số nguyên n (0<=n<101)
  • Output: Số Harshad thứ n
  • Ví Dụ:

Input

Output

4 5
11 18

Đáp án bài 1: Tính cấp độ bão

 

import sys
sys.stdin=open('D041.INP','r')
sys.stdout=open('D041.OUT','w')
a=int(input())
b=int(input())
c=int(input())
gtb=(a+b+c)/3
print('%0.1f'%gtb)
if gtb<89:
    print('Khong phai bao')
elif 89<=gtb<102:
    print('Cap 10')
elif 102<=gtb<117:
    print('Cap 11')
elif 117<=gtb<133:
    print('Cap 12')
elif 133<=gtb<149:
    print('Cap 13')
elif 149<=gtb<166:
    print('Cap 14')
elif 166<=gtb<183:
    print('Cap 15')
elif gtb>183:
    print('Sieu bao')

 

Đáp án bài 2: Tính trung bình cộng những số nguyên chẵn từ m đến n

 

import sys
sys.stdin=open('D042.INP','r')
sys.stdout=open('D042.OUT','w')
m=int(input())
n=int(input())
tong=0
dem=0
tbc=0
for i in range(m,n+1):
    if i%2==0:
        tong+=i
        dem+=1
if dem>0:
    tbc=tong/dem
    print('%0.1f'%tbc)

 

Đáp án bài 3: Tính trung bình cộng các số không chia hết cho 3 trong mảng

 

import sys
sys.stdin=open('D043.INP','r')
sys.stdout=open('D043.OUT','w')
n=int(input())
a=[]
while True:
    try:
        line=input()
        try:
            x=int(line)
            a.append(x)
        except ValueError:
            break
    except EOFError:
        break
dem=0
tong=0
tbc=0
for i in range(len(a)):
    if a[i]%3!=0:
        dem+=1
        tong+=a[i]
if dem>0:
    tbc=tong/dem
    print('%0.3f'%tbc)
else:
    print('0.000')

 

Đáp án bài 4: In các từ có chiều dài là số nguyên tố trong xâu s

 

import sys
sys.stdin=open('D044.INP','r')
sys.stdout=open('D044.OUT','w')
def ktnt(n):
    i=2
    while i*i<=n and n%i!=0:
        i+=1
    return i*i>n and n>1
s=input()
dem=0
i=0
a=[]
while dem<len(s):
    if ktnt(i):
        dem+=1
        a.append(i)
    i+=1
s=s.split()
for i in s:
    for j in range(len(a)):
        if len(i)==a[j]:
            print(i,end=' ')

 

Đáp án bài 5:  In sổ Harshad thứ n

 

import sys
sys.stdin=open('D045.INP','r')
sys.stdout=open('D045.OUT','w')
def Harshad(n):
    a=str(n)
    tong=0
    for i in range(len(a)):
        tong+=int(a[i])
    if n%tong==0:
        return True
    else:
        return False
n=int(input())
a=[]
dem=0
i=1
while dem<=n:
    if Harshad(i):
        dem+=1
        a.append(i)
    i+=1
print(a[n])

Nếu bạn thấy hay ! xin bạn 1 phút ! vui lòng đánh giá 5 sao cho trang website của chúng tôi ! để có động lực làm thêm nhiều bài hay nữa ! cảm ơn quý khách nhé !

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.

Khóa học Python online từ cơ bản đến nâng cao

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 !