最大的最小公倍數

2021-09-12 08:16:31 字數 711 閱讀 2102

問題描述

已知乙個正整數n,問從1~n中任選出三個數,他們的最小公倍數最大可以為多少。

輸入格式

輸入乙個正整數n。

輸出格式

輸出乙個整數,表示你找到的最小公倍數。

樣例輸入

9樣例輸出

504資料規模與約定

1 <= n <= 106。

解答思路:

首先想要從數學角度投機取巧(貪心):

根據往常的思維我們很容易想到,三個數互質時最小的公倍數最大。因此這裡我們只需分類討論兩種情況即可。

(1)奇數-偶數-奇數,此時很顯然,三個連續的數若為此情況,三個都是互質的,則此時最大的最小公倍數即為n*(n-1)(n-2);

(2)偶數-奇數-偶數,此時因為存在兩個偶數,二者存在公因數2,最小公倍數會除以2,這樣不能保證最大(由於後面的方法只需將數前後移動1-2位,因此除以2的方法明顯會大幅減小最小公倍數),因此可以先將後面的偶數減1,得n-3,此時需要考慮n是否為3的倍數,因為若為3的倍數,明顯會與n-3有公因數3,這樣的情況更不可,所以n若不為3的倍數,最大的最小公倍數則為n(n-1)(n-3),若為3的倍數,最大的最小公倍數為(n-1)(n-2)*(n-3)

附上**:

#includeusing namespace std;

int main()

cout

}

最大最小公倍數

時間限制 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 分析 題目要求涉及貪心演算法,對於個人而言,更像是乙個純數...