題目描述
度度熊請你找出兩個數a,b,滿足1 ≤ a, b ≤ n且lcm(a, b) - gcd(a, b)儘量大。輸出最大的lcm(a, b) - gcd(a, b)。其中lcm(a, b)表示a和b的最小公倍數,gcd(a, b)表示a和b的最大公約數。
輸入描述
一行一個數字n(2 ≤ n ≤ 10^9)
輸出描述
一行一個數字表示最大的lcm(a, b) - gcd(a, b)
思路分析
要使lcm(a, b) - gcd(a, b)儘量大,應該讓a和b的最小公倍數儘量大,a和b的最大公約數儘量小。當a、b分別取n -1 和 n時滿足該條件:最小公倍數爲兩者乘積,最大公約數爲1。
AC代碼(C++)
#include<iostream>
using namespace std;
int main()
{
long long int n;
cin >> n;
cout << n * (n - 1) - 1;
return 0;
}