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...
Câu hỏi:
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".
Câu trả lời:
Người trả lời: GV. Đỗ Đăng Hạnh
Để viết câu trả lời đầy đủ và chi tiết hơn, ta có thể mô tả cách làm theo các bước sau:Bước 1: Khai báo dãy số A và dãy p chứa mẫu cần tìm (trong trường hợp này là [1, 2, 3]).Bước 2: Khai báo biến pkq (vị trí đầu tiên của mẫu nếu tìm thấy, ban đầu gán bằng -1) và biến i (chỉ số duyệt qua dãy A, ban đầu gán bằng 0).Bước 3: Sử dụng vòng lặp while để duyệt qua dãy số A. Trong vòng lặp, kiểm tra nếu 3 phần tử liên tiếp bằng mẫu p thì lưu vị trí đầu tiên vào biến pkq và dừng vòng lặp. Nếu không tìm thấy, tăng chỉ số i lên 1.Bước 4: Kiểm tra kết quả: Nếu pkq >= 0, in ra thông báo "Tìm thấy mẫu" và vị trí pkq. Nếu pkq < 0, in ra thông báo "Không tìm thấy mẫu".Viết lại chương trình theo cách trên, ta có:```pythonA = [0, 4, 0, 1, 2, 3, 8, 9, 0, 1, 2, 3, 17, -16, 0, 1, 2]p = [1, 2, 3]pkq = -1i = 0while i < len(A) - 2 and pkq == -1: if A[i:i+3] == p: pkq = i else: i += 1if 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)```Chương trình trên sử dụng vòng lặp while để duyệt qua dãy số A và kiểm tra 3 phần tử liên tiếp bằng mẫu [1, 2, 3]. Nếu tìm thấy, in ra vị trí đầu tiên của mẫu đó. Nếu không tìm thấy, in ra thông báo không tìm thấy.
Câu hỏi liên quan:
- 31.1. Viết chương trình yêu cầu nhập số thực dương a. Chương trình cần kiểm soát lỗi nhập dữ liệu...
- 31.2. Bài toán sắp xếp: Cho trước một dãy số A, viết chương trình sắp xếp dãy số này theo thứ tự...
- 31.3. Viết chương trình in bảng cửu chương ra màn hình. Yêu cầu bảng cửu chương in ra thành 10 khối...
- 31.5. Em hãy viết chương trình nhập một xâu kí tự bất kì từ bàn phím. Cần sắp xếp lại các chữ số...
- 31.6. Em hãy viết chương trình nhập số tự nhiên n, sau đó nhập n họ tên đầy đủ học sinh trong lớp....
- 31.7. Em hãy viết chương trình nhập hai số tự nhiên Y1, Y2 là số năm, Y2 > Y1. Tính xem trong...
- 31.8. Gọi ƯCLN(a, b) là hàm ƯCLN của hai số tự nhiên a, b. Dễ thấy ta có ƯCLN(a, b) = ƯCLN(b, a%b)...
- 31.9. Em hãy viết chương trình nhập số tự nhiên n > 1, sau đó in ra tất cả các ước số nguyên tố...
- 31.10. Bài toán tìm tổng con lớn nhất.Giả sử một công ty du lịch đã thiết kế một chương trình du...
Bình luận (0)