Jam's math problem

Problem Description
Jam has a math problem. He just learned factorization.
He is trying to factorize ax2+bx+c into the form of pqx2+(qk+mp)x+km=(px+k)(qx+m).
He could only solve the problem in which p,q,m,k are positive numbers.
Please help him determine whether the expression could be factorized with p,q,m,k being postive.
 

Input
The first line is a number T, means there are T(1T100) cases 

Each case has one line,the line has 3 numbers a,b,c(1a,b,c100000000)
 

Output
You should output the "YES" or "NO".
 

Sample Input
2 1 6 5 1 6 4
 

Sample Output
YES

NO

求a*x^2+b*x+c能否分解因式 暴力循环查找

pqx2+(qk+mp)x+km=(px+k)(qx+m)找出符合的p q n m

#include<cstdio>
int main()
{
	int t;
	scanf("%d",&t);	
	long long a,b,c;
	while(t--)
	{
		scanf("%lld%lld%lld",&a,&b,&c);
		int flog=0;
		for(long long i=1;i*i<=a;i++)
		{
			if(a%i!=0)
			continue;
			for(long long j=1;j*j<=c;j++)
			{
					if(c%j!=0)
			        continue;
				if(b==((i*j)+(a/i*c/j))||b==(i*(c/j)+j*(a/i)))
				{
							flog=1;
							break;
				}
		
			}
			if(flog==1)
			break;
		}
		if(flog==0)
		{
				printf("NO\n");
		}
		else
		{
				printf("YES\n");	
		}

	}
	return 0;
 } 



posted @ 2019-12-12 09:00  千金一发  阅读(58)  评论(0编辑  收藏  举报