Vận dụngCâu hỏi 1. Sử dụng phương pháp làm mịn dần để giải bài toán sau: Cho trước số tự nhiên...

Câu hỏi:

Vận dụng

Câu hỏi 1. Sử dụng phương pháp làm mịn dần để giải bài toán sau: Cho trước số tự nhiên không âm n, viết chương trình kiểm tra xem số n có phải là số nguyên tố hay không? Chương trình cần thông báo "CÓ" nếu n là số nguyên tế, ngược lại thông báo "KHÔNG".

Câu trả lời:
Người trả lời: GV. Đỗ Thị Hạnh
Cách 1:
Để giải bài toán này, ta cần viết một hàm is_prime(n) nhận vào một số tự nhiên không âm n và kiểm tra xem n có phải là số nguyên tố không. Đầu tiên, ta sẽ xét các trường hợp đặc biệt như n <= 1, n = 2, n = 3 và trường hợp n chẵn lớn hơn 2. Nếu không rơi vào các trường hợp đặc biệt này, ta sẽ kiểm tra từ số 3 đến căn bậc hai của n để xem n có chia hết cho một số nào đó không. Nếu không chia hết cho bất kỳ số nào trong đoạn này thì n là số nguyên tố.

Câu trả lời cho câu hỏi 1:
def is_prime(n):
if n <= 1:
return "KHÔNG"
elif n <= 3:
return "CÓ"
elif n % 2 == 0:
return "KHÔNG"
for i in range(3, int(n**0.5) + 1, 2):
if n % i == 0:
return "KHÔNG"
return "CÓ"
Bình luận (0)
Nhấn vào đây để đánh giá
Thông tin người gửi
0.43667 sec| 2190.297 kb