10分求助! 我用的是韦达定理
查看原帖
10分求助! 我用的是韦达定理
398239
20071107cyj楼主2023/2/19 12:01
#include<bits/stdc++.h>
using namespace std;
long long e,d,n,p,q;
void work1()
{
	cin>>n>>e>>d;
	int a,b,c,k1,k,m1,m2;
	b=e*d-n-2;
	c=n;
	k=b*b-4*c;//德尔塔 
	if(k<0){
		cout<<"No"<<endl;
		return;
	}//德尔塔必须大于零; 
	k1=sqrt(k);
	if(k1*k1!=k) {
		cout<<"No"<<endl;
		return;
	}//检查是否是整数 
	m1=k1-b,m2=-k1-b;
	
	if(m1%2==1||m2%2==1){
		cout<<"No"<<endl;
		return;
	}
	else {
		p=m1/2;
		q=m2/2;
		if(p>q) cout<<q<<" "<<p<<endl;
		else cout<<p<<" "<<q<<endl;
	}	
    return;
 }
int main(){
	int k;
	cin>>k;
	for(int i=1;i<=k;i++) work1();
	return 0;
}

2023/2/19 12:01
加载中...