输入一个数n,在1~n中任意找3个数求出最大公倍数。
思路:任意相邻的两个数互质,相邻的几个数相乘最大,讨论n的情况,n为偶数(偶数里又分n是否是3的倍数,因为取得是3个数)和奇数。
#include <iostream>
#include <cmath>
using namespace std;
int main(){
long long A=0;
long long n;
cin>>n;
if(n%2!=0)
{
A=n*(n-1)*(n-2);
}
else if(n%2==0)
{
if(n%3==0)
{// 把n的值取为n-2此时n的值变为奇数
A=(n-1)*(n-2)*(n-3);
}
else if(n%3!=0)
{
A=n*(n-1)*(n-3);//因为n-2会和n有共同的公约数2;
}
}
cout<<A;
return 0;
}