問題描述:已知乙個正整數n,問從1~n中任選出三個數,他們的最小公倍數最大可以為多少?
資料規模與約定:
1 <= n <= 106
本題對數學知識考察比例太重,純粹是拓寬知識和訓練思維,我個人在解決過程中是一 步步提問,通過問題逐步求解!
1.什麼是質數?對於大於1的2個數的公約數只有1
2.為什麼樣例,504 = 7*8*9 ,三個數互質此時m,n-1,n-2三者乘積結果最大
3.如果不是三個相鄰互質數的時候應該如何計算?應當還是較大的三個數的乘積 ,如何確定這三個數?
1.應當考慮奇偶數,n若為奇數,n-1是偶數,n,n-2都是奇數,2個奇數都不能被2整除且互質, 相鄰2個非0自然數必然互質,此時三者互質,且都很大,應當是結果資料
2. n若為偶數,n-2是偶數,n-1是奇數 ,此時,1,3項必然有最小公約數2,
為保持尋找最大的結果,此時保留n,n-1,減小第三位;尋找下一位相鄰的互質數字,n- 3,此時
若n將與n-3,同有3為公約數,此結果仍然較小,,若不存在3公約數則此時三者乘積是結果;
3.繼續尋找下一位n-4此時必有2為公約數,尋找下一位,n-5但此時有對任意的》=2得數(n-1*n-2*n-3)>(n*n-1*n-5)
4.而根據3.1證明前者符合結果
需要注意的是:int 此時已經無法儲存這麼大的資料,需要用long long int
#include
using namespace std;
intmain
(int argc,
char
*ar**)
else
return0;
}
ps :小白上路,歡迎指正! 藍橋杯 最大最小公倍數
最大的最小公倍數 time limit 1000 ms memory limit 32768 k total submit 265 71 users total accepted 63 51 users rating special judge no description 從小學我們就學過最小公倍...
藍橋杯 最大最小公倍數
題目大意 給你乙個n,然後從這1 n這n個數中取出任意三個數 可以重複 求三個數的最小公倍數,然後求任意三個數中能取到的最大值 題目思路 看樣例,猜題意,9的答案是9,8,7,然後成功猜出來奇數是直接n n 1 n 2 因為n和n 2都是奇數,公約數是1,n n 2 也是奇數,跟n 1的公約數也是1...
藍橋杯 最大最小公倍數
演算法訓練 最大最小公倍數 時間限制 1.0s 記憶體限制 256.0mb 問題描述 已知乙個正整數n,問從1 n中任選出三個數,他們的最小公倍數最大可以為多少。輸入格式 輸入乙個正整數n。輸出格式 輸出乙個整數,表示你找到的最小公倍數。樣例輸入 9 樣例輸出 504資料規模與約定 1 n 106。...