Trợ lý học tập AI - Câu trả lời này chỉ mang tính tham khảo
**Câu 1:** Để thiết kế chương trình theo mô-đun kiểm tra tính nguyên tố của một số nguyên dương N, chúng ta có thể viết chương trình như sau:
```python
def is_prime(num):
"""Kiểm tra xem một số có phải là số nguyên tố hay không."""
if num <= 1:
return False
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
return False
return True
def main():
n = int(input("Nhập vào số nguyên dương N: "))
if is_prime(n):
print(f"{n} là số nguyên tố.")
else:
print(f"{n} không phải là số nguyên tố.")
if __name__ == "__main__":
main()
```
Chương trình trên bao gồm hai hàm: `is_prime` dùng để kiểm tra tính nguyên tố của một số và `main` để thực hiện nhập liệu và hiển thị kết quả.
---
**Câu 2:** Xét chương trình sau:
```python
print("hãy nhập vào số n: ")
n = int(input())
tong = 0
i = 0
while i <= n:
tong += i
i += 1
print("Tổng là: ", tong)
```
Để phân tích độ phức tạp của chương trình này theo định nghĩa O-lớn, chúng ta sẽ xem xét vòng lặp `while`.
1. Vòng lặp `while` sẽ chạy từ `i = 0` đến `i = n`, tức là nó sẽ thực hiện đúng `n + 1` lần (bao gồm cả trường hợp i = n).
2. Trong mỗi lần lặp, có một phép cộng và một phép tăng biến `i`, cả hai đều có độ phức tạp là O(1).
Từ đó, độ phức tạp thời gian của vòng lặp này là O(n) do nó thực hiện n + 1 lần. Do đó, ta có thể xác định:
- c = 1 (hằng số không phụ thuộc vào n)
- n₀ = 0 (điểm bắt đầu của n, nơi mà độ phức tạp vẫn đúng)
Vậy ta có thể kết luận độ phức tạp của chương trình là O(n).
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á)
0
0 bình luận
Bình luận
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
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
Địa chỉ: Số 21 Ngõ Giếng, Phố Đông Các, Phường Đống Đa, Thành phố Hà Nội, Việt Nam.