目錄
1 問題描述
問題描述
已知一個正整數N,問從1~N中任選出三個數,他們的最小公倍數最大可以為多少。
輸入格式
輸入一個正整數N。
輸出格式
輸出一個整數,表示你找到的最小公倍數。
樣例輸入
9
樣例輸出
504
數據規模與約定
1 <= N <= 106。
2 解決方案
本題主要考查貪心法思想的運用,以及對於求取最小公倍數的數學基本知識。
注意,定義輸入的數據類型一定要為long型,輸出類型也一定要為long型,否則不管怎樣提交都只能得0分。
具體代碼如下:
import java.util.Scanner; public class Main { public void printResult(long n) { long result = 0; if(n <= 2) //此時最多只能選擇兩個數,不符合題意 return; if(n % 2 == 1) { result = n * (n - 1) * (n - 2); } else { if(n % 3 == 0) //說明n和n - 3有最大公約數3 result = (n - 1) * (n - 2) * (n - 3); else result = n * (n - 1) * (n - 3); } System.out.println(result); return; } public static void main(String[] args) { Main test = new Main(); Scanner in = new Scanner(System.in); long n = in.nextLong(); test.printResult(n); } }