我的教授给出了一个替代解释,通过回复来检查直到sqrt(n):
“我们需要检查除数,直到max 2≤i≤n(min(i,n / i))。 当i = n / i时,即达到最大值。 i = sqrt n。“
他甚至是什么意思?有人可以用英语吗?
答案 0 :(得分:2)
为您格式化TeX,即“max 2< = i< = n (min(i,n / i))”。在英语中,i
和n/i
中较小的最大值,而i
的所有值从2到n
。{/ p>
例如,如果n
为12:
i n/i min(i,n/i)
2 6 2
3 4 3 <--- Largest value is 3: sqrt(12) rounded down
4 3 3
5 2 2
6 2 2
7 1 1
8 1 1
9 1 1
10 1 1
11 1 1
12 1 1
i < n/i
很容易看到i < sqrt(n)
当且仅当sqrt(n)
时,我们可以看到该表达式的最大值为n
。
据推测,这是为了找到i
的因素。如果n/i
是一个因素,那么n/i * i = n
也是i
,因此无需同时测试n/i
和min(i, n/i)
。因此,我们只能选择检查两者中的较小者i
,并且只需考虑{{1}}的值,直到最大的此值 - 这是您老师给您的表达式的值。