|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
这是题目:
最大质因数
13195的所有质因数为5、7、13和29。
600851475143最大的质因数是多少?
- a = 600851475143
- b = 0
- d = []
- f = []
- h = 0
- for i in range(1,a):
- if a%i == 0:
- d.append(i)#把a的因数添加到d中
- #接下来判断d中的元素是不是质数
- for e in d:
- for g in range(1,e+1):
- if type(e/g) == int:
- h = e#当h的值改变则认为d的元素e不是质数
- else:
- pass
- if h == 0:#当h的值没有改变则认为d的元素是a的质因数
- f.append(e)
- print(max(f))
复制代码
上面是我写的程序,当a的值小的时候会出来结果,但是如果a的值太大了就会出不来结果,是不是一直在运算?
怎么改更好?
py大神 发表于 2017-12-9 21:47
我也感觉是这样........
对了,e/g肯定是float
你可以试试type(4/2)
|
|