40pts求助(一元二次方程(韦达定理))
查看原帖
40pts求助(一元二次方程(韦达定理))
559506
BestFriend楼主2022/10/30 20:24

Code:

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll k;
ll n,d,e;
int main(){
	scanf("%lld",&k);
	for(int i=0;i<k;i++){
		scanf("%lld%lld%lld",&n,&d,&e);
		ll x=(n+2-e*d);
		ll dt=x*x-4*n;
		if(dt<0){//求根公式 
//			printf("%lld %lld %lld\n",n,d,e);
			puts("NO");
			continue;
		}
		ll u=sqrt(dt);
		if((x-u)*1.0/2-(x-u)/2!=0){
//			printf("%lld %lld %lld\n",n,d,e);
			puts("NO");
			continue;
		}
		printf("%lld %lld\n",(x-u)/2,(x+u)/2);
	}
	return 0;
}

thanks

2022/10/30 20:24
加载中...