Return circular primes below limit. >>> len(find_circular_primes(100)) 13 >>> len(find_circular_primes(1000000)) 55
(limit: int = 1000000)
| 54 | |
| 55 | |
| 56 | def find_circular_primes(limit: int = 1000000) -> list[int]: |
| 57 | """ |
| 58 | Return circular primes below limit. |
| 59 | >>> len(find_circular_primes(100)) |
| 60 | 13 |
| 61 | >>> len(find_circular_primes(1000000)) |
| 62 | 55 |
| 63 | """ |
| 64 | result = [2] # result already includes the number 2. |
| 65 | for num in range(3, limit + 1, 2): |
| 66 | if is_prime(num) and not contains_an_even_digit(num): |
| 67 | str_num = str(num) |
| 68 | list_nums = [int(str_num[j:] + str_num[:j]) for j in range(len(str_num))] |
| 69 | if all(is_prime(i) for i in list_nums): |
| 70 | result.append(num) |
| 71 | return result |
| 72 | |
| 73 | |
| 74 | def solution() -> int: |
no test coverage detected