#!/usr/bin/env python3 """Hard work here. Not efficient, but hard.""" from typing import Tuple import pinocchio as pin # type: ignore def is_prime(number: int) -> bool: """Check if a number is prime.""" return not any(number % i == 0 for i in range(2, number)) def find_prime(goal: int = 10, verbose: bool = False) -> Tuple[int, int]: """Find the goal-th prime number.""" found = 0 i = 1 # let's enumerate all numbers while found < goal: # until we have enough prime ones. i += 1 if is_prime(i): found += 1 if verbose: print(f'the prime number n°{found} is {i}') n = pin.Quaternion(i, i, i, i).norm() print(f"the norm of a quaternion with {i} as all members is {n}") return i, n if __name__ == '__main__': print(find_prime(50, verbose=True))