24.12. Cho trước hai xâu kí tự s1, s2. Viết đoạn chương trình tính in ra xâu kí tự là phần chung...

Câu hỏi:

24.12. Cho trước hai xâu kí tự s1, s2. Viết đoạn chương trình tính in ra xâu kí tự là phần chung đầu tiên cực đại của hai xâu s1, s2. Ví dụ nếu s1 = "abcdeghik", S2 = "abcmnopq" thì xâu cần tính là "abc”.

Câu trả lời:
Người trả lời: GV. Đỗ Hồng Ánh
Để giải bài toán trên, ta có thể viết chương trình như sau:

```
def common_prefix(s1, s2):
m = min(len(s1), len(s2))
i = 0
s = ""
while i < m and s1[i] == s2[i]:
s = s + s1[i]
i = i + 1
return s

s1 = "abcdeghik"
s2 = "abcmnopq"
result = common_prefix(s1, s2)
print(result)
```

Kết quả sẽ là "abc".

Trong chương trình trên, hàm `common_prefix(s1, s2)` sẽ nhận hai xâu kí tự `s1` và `s2`, sau đó tìm phần chung đầu tiên cực đại của hai xâu đó. Để làm điều này, chúng ta lặp qua các ký tự của hai xâu cho đến khi gặp ký tự khác nhau hoặc hết xâu. Sau đó, trả về phần chung đầu tiên cực đại. Trên đoạn mã mẫu, chúng ta sử dụng xâu `s1 = "abcdeghik"` và `s2 = "abcmnopq"`, và kết quả được in ra là "abc".
Bình luận (0)
Nhấn vào đây để đánh giá
Thông tin người gửi
0.11865 sec| 2260.797 kb