new_contents: """
  Problem:
  The prime factors of 13195 are 5,7,13 and 29. What is the largest prime factor
  of a given number N?
  
  e.g. for 10, largest prime factor = 5. For 17, largest prime factor = 17.
  """
  
  
  def solution(n: int) -> int:
      """Returns the largest prime factor of a given number n.
  
      >>> solution(13195)
      29
      >>> solution(10)
      5
      >>> solution(17)
      17
      >>> solution(3.4)
      3
      >>> solution(0)
      Traceback (most recent call last):
          ...
      ValueError: Parameter n must be greater or equal to one.
      >>> solution(-17)
      Traceback (most recent call last):
          ...
      ValueError: Parameter n must be greater or equal to one.
      >>> solution([])
      Traceback (most recent call last):
          ...
      TypeError: Parameter n must be int or passive of cast to int.
      >>> solution("asd")
      Traceback (most recent call last):
          ...
      TypeError: Parameter n must be int or passive of cast to int.
      """
      try:
          n = int(n)
      except (TypeError, ValueError):
          raise TypeError("Parameter n must be int or passive of cast to int.")
      if n <= 0:
          raise ValueError("Parameter n must be greater or equal to one.")
      i = 2
      ans = 0
      if n == 2:
          return 2
      while n > 2:
          while n % i != 0:
              i += 1
          ans = i
          while n % i == 0:
              n = n / i
          i += 1
  
      return int(ans)
  
  
  if __name__ == "__main__":
      # print(solution(int(input().strip())))
      import doctest
  
      doctest.testmod()
  
subject: Add sol3 for project_euler problem_03 (#1553)