有人能解释这个解决方案吗

时间:2017-09-12 18:49:08

标签: ruby math

5的主要因素是71329600851475143。 数字def largest_prime(number) i = 2 largest_divisor = 0 while i < number if number % i == 0 largest_divisor = i number = number / i i = 2 else i += 1 end end number end 的最大素数因素是什么?

>>> s = "ΪÁËÓÐЧ¡¢¸ßЧµØʵÏÖÄ¿±ê£¬Äú×îÐèÒªµÄÊÇʲô£¿"
>>> chardet.detect(s.encode('l1'))
{'encoding': 'GB2312', 'confidence': 0.99, 'language': 'Chinese'}
>>> s.encode('l1').decode('gb2312')
'为了有效、高效地实现目标,您最需要的是什么?'

1 个答案:

答案 0 :(得分:1)

while循环始终查找number的最小除数(1除外)。 如果我们找到一个,我们存储它,除number并重新开始。

由于我们采用最小除数,因此总是存储素数。

循环只能结束,如果number == 1,这意味着我们除以每个因子。 最后一个因素仍然是最大的。