
問題描述:
已知一個正整數N,問從1~N中任選出三個數,他們的最小公倍數最大可以為多少。
輸入格式:
輸入一個正整數N。
輸出格式:
輸出一個整數,表示你找到的最小公倍數。
樣例輸入:
9
樣例輸出:
504
資料規模與約定:
1 <= N <= 106
線上學習視訊教程推薦:java課程
思路:
首先聲明幾個概念:
兩個非0相鄰自然數的最小公倍數是它們的乘積;相鄰兩個奇數的最小公倍數是它們的乘積;相鄰兩個偶數(0除外)的最小公倍數是它們乘積的一半。
現在上升到三個數的最小公倍數,要按照N的奇偶性分兩種情況:
一、當n為奇數:n、n-1、n-2的乘積
二、當n為偶數:n-1、n-2、n-3是一組極大解,如果答案要大于目前值,隻能是大于這3個數的乘積,那麼隻能把其中一個數變成n,并且三個數也要兩兩互質。n、n-2、n-3偶偶奇明顯不互質;n、n-1、n-3偶奇奇;n、n-1、n-2偶奇偶明顯不互質。
那麼答案隻能是n-1、n-2、n-3或者是n、n-1、n-3。但是n、n-3雖然是一個奇數,一個偶數,但是它們不