30分求捞
查看原帖
30分求捞
587840
redamancy666楼主2022/10/31 19:50
#include<math.h>
#include<stdio.h>
int main()
{
	long long n,e,d,p,q,gen,x;
	long long a,b,c;
	long long k;
	scanf("%lld",&k);
	while(k>=1)
	{
		scanf("%lld%lld%lld",&n,&d,&e);
		a=1; b=e*d-n-2; c=n;
		x=b*b-4*a*c; 
		gen=(int)sqrt((double)x);	
		if(gen*gen!=x)
		{
			printf("NO\n");	
		}
		else
		{
			p=(gen-b)/2*a; q=(-gen-b)/2*a;
			if(p*2!=gen-b||q*2!=-gen-b||p==1||q==1)
			{
				printf("NO\n");
			}
			else
			{
				if(p<=q)
				printf("%lld %lld\n",p,q);
				else
				printf("%lld %lld\n",q,p);			
			}			
		}	
		k--;
	}
	return 0;
}

韦达定理写的,3,4,8测试点过了,哪位大佬帮我看看还有哪儿不对.

2022/10/31 19:50
加载中...