題意:
輸入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最大的質因數。減少循環次數。
代碼君