题意:
输入n,求至少两个正整数,使得这些数的最小公倍数为n且和最小。
分析:
设n的分解式为
,很显然
单独作为一项,和最小。
这里有两个小技巧:
从2开始不断的除n,直到不能整除为止。这样就省去了素数判断的问题,而且缩短了代码量。因为最开始把所有n的2的因数都出去了,后面便不会出现n % 4 == 0的情况,这样除n的都是素数。
从2除n一直到sqrt(n),如果n不为1,则此时除“剩下”的就是n最大的质因数。减少循环次数。
代码君
题意:
输入n,求至少两个正整数,使得这些数的最小公倍数为n且和最小。
分析:
设n的分解式为
,很显然
单独作为一项,和最小。
这里有两个小技巧:
从2开始不断的除n,直到不能整除为止。这样就省去了素数判断的问题,而且缩短了代码量。因为最开始把所有n的2的因数都出去了,后面便不会出现n % 4 == 0的情况,这样除n的都是素数。
从2除n一直到sqrt(n),如果n不为1,则此时除“剩下”的就是n最大的质因数。减少循环次数。
代码君