Codeforces Round #613 (Div. 2) C. Fadi and LCM(数学+思维)

在这里插入图片描述
题意:给出X,让你输出一对数,使得lcm(a,b)==x,同时a和b要尽量小
思路:其实很容易发现要使结果最小,a和b就是X的素因子的组合乘积尽量小,枚举因子即可。

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+1;
typedef long long ll;
ll lcm(ll a,ll b)
{
	return (a*b)/__gcd(a,b);
}
int main()
{
	ll x,ans;
	scanf("%lld",&x);
	for(ll i=1;i<=x/i;++i)	if(x%i==0&&lcm(i,x/i)==x) ans=i;
	printf("%lld %lld\n",ans,x/ans);
}
发布了39 篇原创文章 · 获赞 0 · 访问量 1093

猜你喜欢

转载自blog.csdn.net/qq_42479630/article/details/103960977