
下面是代码
#include<bits/stdc++.h>
using namespace std;
long long k,n,e,d,p,q;
bool flag=0;
int main(){
// freopen("decode.in","r",stdin);
// freopen("decode.out","w",stdout);
cin>>k;
for(int i=1;i<=k;i++){
cin>>n>>e>>d;
int temp=n-e*d+2;//p+q
// cout<<"temp="<<temp<<endl;
p=1;q=0;flag=0;
while(1){
q=n/p;
if(q*p!=n){
p++;
// f=1;
continue;
}
// cout<<"p="<<p<<" q="<<q<<endl;
if(p>=temp){
cout<<"NO\n";
flag=1;
break;
}
if(p+q==temp)break;
p++;
}
q=n/p;
if(flag==0&&p+q==temp&&p<=q&&p*q==n){
cout<<p<<" "<<q<<endl;
} else if(flag==0&&(p+q!=temp||p>q||p*q!=n)){
cout<<"NO\n";
}
}
return 0;
}
个位大佬帮忙看一下哪里错了,为什么只有40分