Largest prime factor
Problem 3
The prime factors of 13195 are 5, 7, 13 and 29.
What is the largest prime factor of the number 600851475143 ?
The answer:
import math def getLargestPrime(data): list = [] i = 2 while i <= math.sqrt(data): #while i <= data/2: if data%i == 0 : list.append(i) data = (int)(data/i) #i = 2 else: i += 1 list.append(data) return list number = 600851475143 list = getLargestPrime(number) print(list) print(list[len(list) -1])
when the length of list equals 1, it is a composite number
From this problem, how to figure out whether a number is prime number。The solution is as follows:
def isPrime(data): i = 2 while i<= math.sqrt(data): if data%i == 0: return False else: i += 1 return True