問題描述
已知乙個正整數n,問從1~n中任選出三個數,他們的最小公倍數最大可以為多少。
輸入格式
輸入乙個正整數n。
輸出格式
輸出乙個整數,表示你找到的最小公倍數。
樣例輸入
9樣例輸出
504思路:
第一步:讀懂題目(因為剛開始沒有讀懂題目,打錯了很多)。破題,輸入乙個數字n,從1~n中任選三個數使得他們的最小公倍數是其他組合裡面最大的存在。eg輸入:9,任選三個數9、8、7,他們的最小公倍數987=504.
第二步:選出這三個數,分情況討論
1、如果n是奇數,以n=9為例,出現最大最小公倍數的三個數為9、8、7分別是n、(n-1)、(n-2)
2、如果n是偶數,以n=8為例,出現最大最小公倍數的三個數為8、7、5分別是n、(n-1)、(n-3),由於6、7、8中6,8有公因數2,不能形成最大最小公倍數,所以取5。
3、由於n、(n-3)之間如果3是n的因數,則n、(n-3)之間也存在公因數3,所以此時出現最大最小公倍數的三個數(n-1)(n-2)(n-3)
**如下:
# include
intmain()
藍橋杯演算法訓練2 最大最小公倍數
這是乙個求最小公倍數的題目 看到網上的題解說有乙個數學常識 三個正整數的最小公倍數不會大於這三個數的乘積 ps 啥常識呀,我咋不知道啊 當然,這是有乙個前提的,當三個數兩兩互質時才可以使三個數相乘為這三個數的是最小公倍數。而題中範圍為1 n,所以我們需要選出兩兩互質的最大三個數。因此有以下三個情況 ...
藍橋杯 演算法訓練 最大最小公倍數
演算法訓練 最大最小公倍數 時間限制 1.0s 記憶體限制 256.0mb 問題描述 已知乙個正整數n,問從1 n中任選出三個數,他們的最小公倍數最大可以為多少。輸入格式 輸入乙個正整數n。輸出格式 輸出乙個整數,表示你找到的最小公倍數。樣例輸入 9 樣例輸出 504資料規模與約定 1 n 106。...
藍橋杯 演算法訓練 最大最小公倍數
問題描述 已知乙個正整數n,問從1 n中任選出三個數,他們的最小公倍數最大可以為多少。輸入格式 輸入乙個正整數n。輸出格式 輸出乙個整數,表示你找到的最小公倍數。樣例輸入 9樣例輸出 504資料規模與約定 1 n 106。參考 當n為奇數時,答案一定是n n 1 n 2 當n為偶數時,答案是n a ...