问题描述
已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。
输入格式
输入一个正整数N。
输出格式
输出一个整数,表示你找到的最小公倍数。
样例输入
9
样例输出
504
数据规模与约定
1 <= N <= 106。
做过一次的,上次不会,还是不会,看了解题报告(PS:大家说蓝桥杯上数据不对)
#include <iostream>
#include <stdio.h>
#include <vector>
#include <cstring>
using namespace std;
int main()
{
__int64 n;
cin>>n;
if(n==1)
{
cout<<1<<endl;
}else if(n==2){
cout<<2<<endl;
}else{
if(n%2==0)
{
if(n%3==0)
cout<<(n-1)*(n-2)*(n-3)<<endl;
else
cout<< n*(n-1)*(n-3)<<endl;
}else{
cout<<n*(n-1)*(n-2)<<endl;
}
}
return 0;
}
本文探讨了如何从1到N的整数中选择三个数,使得它们的最小公倍数达到最大。提供了求解此类问题的算法实现,并通过样例输入输出验证了正确性。
7178

被折叠的 条评论
为什么被折叠?



