51NOD 1419

来源:互联网 发布:淘宝听诊器 编辑:程序博客网 时间:2024/06/06 08:32

很显然最小公倍数 n为偶数是n-1*n-2 *n-3和n*n-1*n-3的最小公倍数取max 奇数就是n-1*n-2 *n-3 特判1 2就好了

#include<bits/stdc++.h>#define ll long long/*char *TT,*mo,but[(1<<15)+2];#define getchar() ((TT==mo&&(mo=(TT=but)+fread(but,1,1<<15,stdin),TT==mo))?-1:*TT++)//*/using namespace std;const int N=100000+5;ll n,ans; inline int read(){    int x=0,f=1;char ch=getchar();    while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}    while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}    return x*f;}int main(){    n=read();    if(n==1) ans=1;    else if(n==2) ans=2;    else if(n%2) ans=(n*(n-1)*(n-2));    else ans=max((n-3)*(n-1)*(n-2),n*(n-1)*(n-3)/(__gcd(n,n-3)==3?3:1));    cout<<ans<<endl;}
原创粉丝点击