题目链接
题目思路
给你一个正整数n,让你找到两个正整数使得a+b=n,且lcm(a,b)最小
题目思路
比赛中写出来了,但是是我感觉出来的,看了一下标称,可以严格证明出来,这个题目还是值得学习的
代码
#include<stack>
#include<cmath>
#include<cstdio>
#include<vector>
#include<cstring>
#include<iostream>
#include<algorithm>
#define fi first
#define se second
#define debug printf("I am here\n");
using namespace std;
typedef long long ll;
const int maxn=3e5+5,inf=0x3f3f3f3f,mod=1e9+7;
const ll INF=0x3f3f3f3f3f3f3f3f;
int t,n,m,a,b;
int main(){
scanf("%d",&t);
while(t--){
scanf("%d",&n);
bool flag=1;
for(ll i=2;i*i<=n;i++){
if(n%i==0){
flag=0;
ll x=n/i;
printf("%lld %lld\n",x,1ll*(i-1)*x);
break;
}
}
if(flag){
printf("%d %d\n",1,n-1);
}
}
return 0;
}