1. 程式人生 > >ALGO-2 最大最小公倍數

ALGO-2 最大最小公倍數

三種 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 最大最小公倍數