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

2021-09-11 04:49:31 字數 861 閱讀 8804

記錄一下自己剛入門演算法時所遇到的一些"無從下手"題

問題描述

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

輸入格式

輸入乙個正整數n。

輸出格式

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

樣例輸入

9樣例輸出

504資料規模與約定

1 <= n <= 106。

三個數互質時最小的公倍數最大

根據數論知識:任意大於1的兩個相鄰的自然數都是互質的.

1.奇數-偶數-奇數

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

2.偶數-奇數-偶數,此時因為存在兩個偶數,二者存在公因數2,最小公倍數會除以2,這樣不能保證最大(由於後面的方法只需將數前後移動1-2位,因此除以2的方法明顯會大幅減小最小公倍數),因此可以先將後面的偶數減1,得n-3,

此時需要考慮n是否為3的倍數,因為若為3的倍數,明顯會與n-3有公因數3,最大的最小公倍數為(n-1)(n-2)(n-3),所以n若不為3的倍數,最大的最小公倍數則為n*(n-1)*(n-3),

推薦解析:藍橋杯 - 演算法訓練 - algo-2 最大最小公倍數

#include#include#include#includeint main()

printf("%i64d",ans);

return 0;

}

紅雨瓢潑泛起了回憶怎麼潛

你美目如當年

流轉我心間

渡口邊最後一面

灑下了句點

與你若只如初見

何須感傷離別

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

演算法訓練 最大最小公倍數 時間限制 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 ...

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

問題描述 已知乙個正整數n,問從1 n中任選出三個數,他們的最小公倍數最大可以為多少。輸入格式 輸入乙個正整數n。輸出格式 輸出乙個整數,表示你找到的最小公倍數。樣例輸入 9樣例輸出 504資料規模與約定 1 n 106。思路 首先,從題目的資料規模可以看出題目存在乙個特殊的情形,就是當n小於3的時...