ProjectEuler-Problem 3-Largest prime factor

# @Time    : 2017/6/18 10:03
# @Author  : wanyang
# @Mail    :[email protected]
# @Question:Largest prime factor https://projecteuler.net/problem=3
# @Answer  :6857
from math import *


# 判斷是否是質數
def is_prime(num):
    for i in range(2, int(sqrt(num)) + 1):
        if num % i == 0:
            return False
    return True


# 遞歸調用,獲取質因數
def prime_factor(num):
    if is_prime(num):
        print(num)
        return num
    for i in range(2, int(sqrt(num)) + 1):
        if num % i == 0:
            print(i)
            prime_factor(int(num / i))
            return

# number = 13195
number = 600851475143
prime_factor(number)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章