Giả sử chúng ta có một số n. Chúng ta phải kiểm tra xem n có phải là số nguyên tố Wagstaff hay không. Như chúng ta biết số nguyên tố Wagstaff là một số nguyên tố có dạng sau.
trong đó q là số nguyên tố lẻ.
Vì vậy, nếu đầu vào là n =683, thì đầu ra sẽ là True n có thể được biểu diễn là
Vì vậy, ở đây q =11. Và q là số nguyên tố lẻ.
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- nếu num là số nguyên tố và (num * 3 - 1) cũng là số nguyên tố, thì
- trả về True
- trả về Sai
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
Mã mẫu
def isPrime(num): if num > 1: for i in range(2, num): if num % i == 0: return False return True return False def power_of_two(num): return num and not(num & (num - 1)) def solve(num) : if isPrime(num) and power_of_two(num * 3-1): return True return False n = 683 print(solve(n))
Đầu vào
683
Đầu ra
True