時間限制: 1 sec
記憶體限制: 128 mb
提交: 8
解決: 3 [
提交][
狀態][
討論版]
高中時我們對最小公倍數就已經很熟悉了,相信你很快就可以把這個問題解決。這次的問題是:給你乙個正整數n,任取三個不大於n的正整數,取法不限,每個數可取多次,使得取到的這三個數的最小公倍數在所有取法中是最大的。
例如當n = 5 時,不大於5的數為1、2、3、4、5。則應該選3、4、5三個數,它們的最小公倍數是60,在所有取法中是最大的。因此我們得到結果60。
是不是很簡單?抓緊時間 ac 吧。
輸入包含多組測試資料。每組資料為乙個正整數n(1≤n≤10^6)。
對每組測試資料,輸出乙個整數,代表所有可能取法中,選出的三個數的最小公倍數的最大值。
57
60210
解題思路:
開始一點思路也沒有,看了幾位大犇的**,才有點明白。
其中n分為四種情況,首先對於相鄰的數小於3的數,他們的公因子最多有三個為1 2 3,
第一種:n <= 2,這時最大情況是 n = 2選 1 1 2 和n=1選1 1 1 這三個數;
第二種:n 為奇數,此時緊跟n後面的兩個數 n,n-1,n-2,分析的這三個連續數的公因子沒有3和2,所以必然互質
第三種:n 為偶數,此時緊跟n後面的兩個數 n,n-1,n-2,分析的這三個連續數的公因子必有2,所以我們可以
嘗試用 n,n-1,n-3,這三個數;
第四種 但是問題來了,如果n既是2的倍數又是3的倍數的話,那麼 n,n-3,就會有公 因數3所以經過考慮 n既是2 2的 倍 數又是3的倍數用(n-1,n-2,n-3) ;
**如下:
/*
**型別:數論
**問題描述:最大的最小公倍數
**輸入:
**輸出:
*/
# includeint main()
return 0;
}
最大最小公倍數
時間限制 1 sec 記憶體限制 128 mb 提交 125 解決 4 提交 狀態 討論版 題目描述 已知乙個正整數n,問從1 n中任選出三個數,他們的最小公倍數最大可以為多少。輸入 每個測試點 輸入檔案 存在多組測試資料。每個測試點的第一行為乙個整數task,表示測試資料的組數。在一組測試資料中 ...
最大最小公倍數
問題描述 已知乙個正整數n,問從1 n中任選出三個數,他們的最小公倍數最大可以為多少。輸入格式 輸入乙個正整數n。輸出格式 輸出乙個整數,表示你找到的最小公倍數。樣例輸入 9樣例輸出 504資料規模與約定 1 n 106。include include include using namespace...
最大最小公倍數
題目 已知乙個正整數n,問從1 n中任選出三個數,他們的最小公倍數最大可以為多少。輸入格式 輸入乙個正整數n 輸出格式 輸出乙個整數,表示你求得的最小公倍數 樣例輸入 樣例輸出 504注釋 504 9 8 7 資料規模與約定 1 n 106 分析 題目要求涉及貪心演算法,對於個人而言,更像是乙個純數...