Bài 2: Tìm xâu con dài nhất (6đ) Nhập vào một xâu bất kỳ từ bàn phím. Hãy cho biết độ dài lớn nhất của xâu con chứa liên tiếp kí tự ‘a’. In ra màn hình xâu con dài nhất vừa tìm được? Ví dụ: Xâu nhập và...

ADS
thumb up 0
thumb down
Trả lời câu hỏi của vinh Bùi

Làm sao để có câu trả lời hay nhất?

  • Luôn có GIẢI THÍCH các bước giải
  • Không copy câu trả lời của Timi
  • Không sao chép trên mạng
  • Không spam câu trả lời để nhận điểm
  • Spam sẽ bị khóa tài khoản
ADS
CÂU TRẢ LỜI
avatar
Timi

01/04/2025

Trợ lý học tập AI - Câu trả lời này chỉ mang tính tham khảo
Để giải bài toán tìm xâu con dài nhất chứa liên tiếp ký tự 'a' trong một xâu nhập vào, bạn có thể sử dụng ngôn ngữ lập trình Pascal. Dưới đây là một đoạn mã mẫu để thực hiện điều này: ```pascal program TimXauConDaiNhat; var input: string; maxLength, currentLength: integer; longestSubstring: string; i: integer; begin maxLength := 0; currentLength := 0; longestSubstring := ''; // Nhập xâu từ bàn phím write('Nhập vào một xâu bất kỳ: '); readln(input); // Duyệt qua từng ký tự trong xâu for i := 1 to length(input) do begin if input[i] = 'a' then begin currentLength := currentLength + 1; // Tăng độ dài xâu con hiện tại end else begin // Kiểm tra xem xâu con hiện tại có dài hơn xâu dài nhất không if currentLength > maxLength then begin maxLength := currentLength; longestSubstring := copy(input, i - currentLength, currentLength); // Lưu xâu con dài nhất end; currentLength := 0; // Đặt lại độ dài xâu con hiện tại end; end; // Kiểm tra lần cuối sau khi duyệt hết xâu if currentLength > maxLength then begin maxLength := currentLength; longestSubstring := copy(input, length(input) - currentLength + 1, currentLength); end; // In kết quả writeln('Độ dài max = ', maxLength); writeln('Xâu con cần tìm là: ', longestSubstring); end. ``` ### Giải thích mã: 1. **Khai báo biến**: Các biến `input`, `maxLength`, `currentLength`, `longestSubstring`, và `i` được khai báo để lưu trữ xâu nhập vào, độ dài lớn nhất, độ dài xâu con hiện tại, xâu con dài nhất và chỉ số vòng lặp. 2. **Nhập xâu**: Sử dụng `readln` để nhận xâu từ người dùng. 3. **Duyệt xâu**: Sử dụng vòng lặp `for` để duyệt qua từng ký tự trong xâu. Nếu ký tự là 'a', tăng `currentLength`. Nếu không, kiểm tra và cập nhật `maxLength` và `longestSubstring` nếu cần. 4. **Kiểm tra cuối**: Sau khi duyệt xong, kiểm tra một lần nữa để đảm bảo xâu con dài nhất được cập nhật. 5. **In kết quả**: Cuối cùng, in ra độ dài lớn nhất và xâu con dài nhất. Bạn có thể chạy đoạn mã này trong môi trường lập trình Pascal để kiểm tra kết quả.
Hãy giúp mọi người biết câu trả lời này thế nào?
0/5 (0 đánh giá)
thumb up 0
thumb down
0 bình luận
Bình luận

def tim_xau_con_a_dai_nhat(s):
   """
   Tìm xâu con dài nhất chứa liên tiếp ký tự 'a'.

   Args:
       s: Xâu nhập vào.

   Returns:
       Xâu con dài nhất chứa liên tiếp ký tự 'a'.
   """

   max_len = 0
   max_xau = ""
   current_len = 0
   current_xau = ""

   for char in s:
       if char == 'a':
           current_len += 1
           current_xau += 'a'
       else:
           if current_len > max_len:
               max_len = current_len
               max_xau = current_xau
           current_len = 0
           current_xau = ""

   # Kiểm tra lần cuối nếu xâu kết thúc bằng ký tự 'a'
   if current_len > max_len:
       max_len = current_len
       max_xau = current_xau

   return max_xau

# Nhập xâu từ bàn phím
s = input("Nhập xâu: ")

# Tìm xâu con dài nhất
xau_con_dai_nhat = tim_xau_con_a_dai_nhat(s)

# In kết quả
print("Xâu con dài nhất chứa 'a':", xau_con_dai_nhat)
print("Độ dài:", len(xau_con_dai_nhat))

Hãy giúp mọi người biết câu trả lời này thế nào?
0/5 (0 đánh giá)
thumb up 0
thumb down
0 bình luận
Bình luận
ADS

Nếu bạn muốn hỏi bài tập

Các câu hỏi của bạn luôn được giải đáp dưới 10 phút

Ảnh ads

CÂU HỎI LIÊN QUAN

logo footer
FQA.vn Nền tảng kết nối cộng đồng hỗ trợ giải bài tập học sinh trong khối K12. Sản phẩm được phát triển bởi CÔNG TY TNHH CÔNG NGHỆ GIA ĐÌNH (FTECH CO., LTD)
Điện thoại: 1900636019 Email: info@fqa.vn
Location Địa chỉ: Số 21 Ngõ Giếng, Phố Đông Các, Phường Ô Chợ Dừa, Quận Đống Đa, Thành phố Hà Nội, Việt Nam.
Tải ứng dụng FQA
app store ch play
Người chịu trách nhiệm quản lý nội dung: Nguyễn Tuấn Quang Giấy phép thiết lập MXH số 07/GP-BTTTT do Bộ Thông tin và Truyền thông cấp ngày 05/01/2024
Copyright © 2023 fqa.vn All Rights Reserved
gift-box
survey
survey
Đặt câu hỏi