CF235A
2simon2008 · · 个人记录
题意
给你一个数
思路
话说这是一道贪心题目,所以贪心的方法很重要。 重点是数学推导,贪心的意味主要在推导过程中,不在代码中。
n 为奇数
那很简单,由于
n 为偶数
这里要分类讨论了。
按照奇数的分析,尽量两数之间互质,于是就是
如果
此时,由于
调试过程
辛酸的……
注意
代码
#include<bits/stdc++.h>
using namespace std;
long long n;
int main()
{
cin>>n;
if(n<3){
cout<<n<<endl;
return 0;
} //注意特判
if(n%2){
printf("%lld\n",n*(n-1)*(n-2));
return 0;
}//奇数时,用算式1
if(n%3==0){
printf("%lld\n",(n-1)*(n-2)*(n-3));
return 0;
}
//n与n-3不互质,有最大公约数为3,用算式3
printf("%lld\n",n*(n-1)*(n-3));
//n与n-1与n-3都互质,用算式2
return 0;
}
完结撒花!