题目 2022 csp j第二题
代码:
#include<iostream>
using namespace std;
long long cmp(long long sum,long long n){
for(int i=1;i*i<=n;i++){
if(n%i==0){
if(n/i+n/(n/i)==sum){
return i;
}
}
}
return 0;}
int main(){
long long n,e,d,q,p; long long s,sum=0,cnt=0,i,j; long long b,m;
cin>>s;
for(i=1;i<=s;i++){
cin>>n>>e>>d;
sum=n-(e*d)+2;
cnt=cmp(sum,n);
if(cnt==0) cout<<"NO"<<endl;
else{
b=cnt;
m=n/cnt;
if(b>=m) cout<<m<<" "<<b<<endl;
if(b<m) cout<<b<<" "<<m<<endl;} }
return 0;
}