Khi cần kiểm tra số nguyên tố dùng đệ quy, định nghĩa phương thức và dùng điều kiện 'while'.
Đệ quy tính toán phần nhỏ, kết hợp cho bài toán lớn.
Ví dụ
def check_prime(my_num, my_val=None):
if my_val is None:
my_val = my_num - 1
while my_val >= 2:
if my_num % my_val == 0:
print("Số không phải nguyên tố")
return False
else:
return check_prime(my_num, my_val - 1)
else:
print("Số là nguyên tố")
return True
my_num = int(input("Nhập số cần kiểm tra: "))
print("Đang kiểm tra số...")
check_prime(my_num)
Đầu ra
Nhập số cần kiểm tra: 46 Đang kiểm tra số... Số không phải nguyên tố
Giải thích
- Định nghĩa 'check_prime' nhận số và giá trị mặc định None.
- Nếu my_val là None, gán my_num - 1.
- Nếu my_val >= 2, chia số cho my_val, so sánh dư với 0.
- Nếu dư 0 => không nguyên tố.
- Ngược lại gọi lại với my_val - 1.
- Ngoài hàm, nhập số cần kiểm tra.
- Gọi hàm với giá trị này.
- Hiển thị kết quả.