C語言藍橋杯演算法訓練 最大的最小公倍數

2021-09-11 15:57:36 字數 630 閱讀 5902

本人菜鳥一枚,第二題繼續**,此題用暴力貌似不行,貪心不會想,此題參考別人**完成。

數學知識:如果三個數互為質數,那麼這三個數的乘積便為它們的最小公倍數

連續的兩個奇數必互質!!!

因為本題目中要求最小公倍數的最大值,那麼可以直接從n向前看,找三個連續的互為質數的數,那麼它們的乘積便是1~n最小公倍數的最大值。 

有以下二種情況。

(1)、當n為奇數時,那麼n,n-1,n-2互為質數,很明顯n*n-1*n-2是1~n最小公倍數的最大值。

(2)、當n為偶數時,且能被3整除時,n-1,n-2,n-3互質,此時n-1*n-2*n-3是1~n最小公倍數的最大值;當n為偶數時,但不能被3整除時,n,n-1,n-3互質,此時n*n-1*n-3是1~n最小公倍數的最大值

#includeint main()

總結:

1、此題一定要用貪心來做,想不出貪心追根到底是數學不好,有關質數、最小公倍數、最大公約數的概念不熟!!

2、藍橋上的題涉及整數,還是用long long代替int,以免越界

藍橋杯C 演算法訓練 最大最小公倍數

問題描述 已知乙個正整數n,問從1 n中任選出三個數,他們的最小公倍數最大可以為多少。輸入格式 輸入乙個正整數n。輸出格式 輸出乙個整數,表示你找到的最小公倍數。示例 輸入 9 輸出 504 資料規模與約定 1 n 106。我對這個題目的理解是 從區間 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 ...