ALGO-2 最大最小公倍數
阿新 • • 發佈:2018-02-27
三種 bsp color scan span div 一個 ext oid 問題描述
已知一個正整數N,問從1~N中任選出三個數,他們的最小公倍數最大可以為多少。
輸入格式輸入一個正整數N。
輸出格式 輸出一個整數,表示你找到的最小公倍數。 樣例輸入 9 樣例輸出 504 數據規模與約定1 <= N <= 106。
解題思路:最開始想到找出最大的三個質數,但顯然輸入樣例即不符合“條件”。隨後想到找出最大的三個互質數即可,結果就是他們的乘積。再根據奇偶的情況分別討論,最終有三種可能,判斷即可產生答案。(註意!N在小於等於2時的情況要考慮到)
1 #include<cstdio> 2 3 int main(void) 4 {5 long long n; 6 scanf("%lld", &n); 7 if(n <= 2){ 8 printf("%lld\n", n); 9 return 0; 10 } 11 if(n % 2 == 1){ 12 printf("%lld\n", n * (n - 1) * (n - 2)); 13 } 14 else{ 15 if(n % 3 == 0) printf("%lld\n", (n - 1) * (n - 2) * (n - 3));16 else printf("%lld\n", n * (n - 1) * (n - 3)); 17 } 18 19 return 0; 20 }
ALGO-2 最大最小公倍數