几天以前,我学习了最小公倍数。玩得挺久了,想换换口味。
我不想用太多的数字,我想从1到n中选三个数字(可以相同)。使得他们的最小公倍数最大。
Input
单组测试数据。
第一行有一个整数n (1≤n≤1,000,000)。
Output
输出一个整数表示选三个数字的最大的最小公倍数。
Input示例
9
7
Output示例
504
210
数论,最大的3个数,n* n-1 * n-2
1 两单一偶 时 直接输出 n* n-1 * n-2
2 两双一偶时 最后一个退一 n* n-1 * n-3
3但是可能有公因数3 ,判断
代码献上
#include <iostream>
using namespace std;
int main()
{
long long int n;
cin>>n;
if(n==1||n==2)
cout<<n;
else if(n%2==1)
{
cout<<n*(n-1)*(n-2);
}
else if(n%3==0)
cout<<(n-1)*(n-2)*(n-3);
else
cout<<n*(n-1)*(n-3);
return 0;
}