学习
学习
本帖最后由 xiaot1014 于 2024-5-21 16:33 编辑
if __name__ == '__main__':
goal = 600851475143
i = 2
while goal > i:
if not goal % i:
goal /= i
else:
i += 1
print(int(goal))
回复
?
111
6
求111
import math
n = 600851475143
t = 0
def is_prime(n):
for i in range(2, math.isqrt(n) + 1):
if n % i == 0:
return False
return True
for i in range(math.isqrt(n) + 1, 1, -1):
if n % i == 0 and is_prime(i):
t = i
break
print(t)
正想知道
def is_prime(num):
for i in range(2,int(pow(num,0.5))):
if num%i==0:
return False
else:
return True
for i in range(600851475143,1,-1):
if is_prime(i):
print(i)
break
本帖最后由 FatLawrence 于 2026-7-16 15:38 编辑
写了一下
import math
import time
a = int(input('请输入一个自然数: '))
listnum = []
i = 1
start = time.time()
while i <= math.isqrt(a):
i += 1
if a%i == 0:
listnum.append(i)
a = int(a/i)
i = 1
continue
if a == 1:
break
else:
listnum.append(a)
print('这个数的最大质因数是', listnum[-1], '\n花费', round(time.time()-start, 3), 's')
不知道对不对