简单的最大值 题解

gcd-lcm

【题目描述】
\(n\) ~ \(m\) 的区间中选取两个整数 \(a\)\(b\) (包括 \(n\)\(m\) ),使 \(\gcd(a,b) \times \operatorname{lcm}(a,b)\) 的值最大。
【输入格式】
第一行两个正整数 \(n\)\(m\)
【输出格式】
输出仅包含一个整数,为 \(\gcd(a,b) \times \operatorname{lcm}(a,b)\) 的最大值。
【样例输入】
2 3
【样例输出】
9
【说明/提示】
对于 \(100%\) 的数据,\(2 \leq n \leq m\)
保证答案小于 \(2^{63}-1\)

蒟蒻的第五篇题解。
明显,暴力枚举会超时。
不过经过简单的分析:
\(max = \gcd(a,b) \times \operatorname{lcm}(a,b)\)
\(= \gcd(a,b) \times \dfrac{a \times b}{\gcd(a,b)}\)
\(= a \times b\)
所以使 \(max\) 值最大,就是让 \(a,b\) 的值取 \(m\)

#include<iostream>
using namespace std;
int main()
{
	long long n;
	
	cin>>n>>n;
	cout<<n*n;
	
	return 0;
}
posted @ 2020-12-25 21:30  蒟酱  阅读(125)  评论(0)    收藏  举报