​传送门​

题目大意

找到3个不超过n的正整数(可以相同),使得它们的lcm最大,输出最大的lcm

思路

分析当n是奇数时,n,n-1,n-2三个数一定两两互质
当n是偶数时,第一种情况 n-1,n-2,n-3三个数一定两两互质 第二种情况当n%3!=0时,n,n-1,n-3一定两两互质
最后特判一下n为1或2的情况就好了

代码

int main(){
ll n;
scanf("%lld",&n);
if(n==1){
printf("1");
return 0;
}
if(n==2){
puts("2");
return 0;
}
ll ans;
if(n%2)
ans=n*(n-1)*(n-2);
else
{
n=n-1;
ans=n*(n-1)*(n-2);
n=n+1;
ll ans2=n*(n-1)*(n-3);
if(n%3==0)ans2/=3;
ans=max(ans2,ans);
}
printf("%lld\n",ans);
}