【发布时间】:2017-06-09 15:11:27
【问题描述】:
我正在尝试将列表划分为尽可能大的子列表。如果列表不能以这种方式进行划分,我将根据需要进行处理,但我需要获得除 N 本身之外的最大数,该数将 N 均分。
我写了一个非常幼稚的解决方案,但我觉得应该有一个公式或其他东西可以在恒定时间内做到这一点。我的列表没有那么大,最大大小是 1000。这可能不是关键路径,但是有更好的算法吗?
public static int largestDivisor(int n){
int divisor = 0;
for (int i = 1; i <= n/2; i++)
if (n % i == 0)
divisor = i;
return divisor;
}
【问题讨论】: