Cho trước dãy số bất kì A. Em hãy viết chương trình tìm và chỉ ra vị trí đầu tiên của dãy A mà 3 số hạng liên tiếp có giá trị là 1, 2, 3 (có thể tổng quát 3 số bất kì p, q, s)

31.4. Cho trước dãy số bất kì A. Em hãy viết chương trình tìm và chỉ ra vị trí đầu tiên của dãy A mà 3 số hạng liên tiếp có giá trị là 1, 2, 3 (có thể tổng quát 3 số bất kì p, q, s). Nếu tìm thấy thì thông báo vị trí tìm thấy, nếu không thì thông báo "không tìm thấy mẫu".


Để kiểm tra tại một chỉ số i, 3 phần tử liên tếp nhau bằng 1, 2, 3 có nhiều cách kiểm tra khác nhau, ví dụ:

Cách 1. Sử dụng biểu thức lôgíc.

A[i] == 1 and A[i] == 2 and A[i] == 3

Cách 2. Sử dụng so sánh có chứa vùng chỉ số.

A[i:i+3] == [1,2,3]

Chương trình có thể viết như sau:

A = [0,4,0,1,2,3,8,9,0,1,2,3,17,-16,0,1, 2]

p = [1,2,3]

pkq = -1

i = 0

while i < len(A) - 3 and pkq == -1:

        if A[i: i+3] == p:

             pkq = i

        else:

             i = i + 1

if pkq >= 0:

        print( "Tìm thấy mẫu",p, "tại vị trí”, pkq)

else:

       print("Không tìm thấy mẫu",p)


Từ khóa tìm kiếm Google: Giải SBT tin học 10 kết nối tri thức, giải sách kết nối tri thức 10 môn tin học, giải tin học 10 sách mới bài 31, bài 31: Thực hành viết chương trình đơn giản

Giải những bài tập khác

Bình luận

Giải bài tập những môn khác