Problem Description
有二个整数,它们加起来等于某个整数,乘起来又等于另一个整数,它们到底是真还是假,也就是这种整数到底存不存在,实在有点吃不准,你能快速回答吗?看来只能通过编程。
例如:
x + y = 9,x * y = 15 ? 找不到这样的整数x和y
1+4=5,1*4=4,所以,加起来等于5,乘起来等于4的二个整数为1和4
7+(-8)=-1,7*(-8)=-56,所以,加起来等于-1,乘起来等于-56的二个整数为7和-8
Input
输入数据为成对出现的整数n,m(-10000
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int n = sc.nextInt(); // X Y 的和 X Y 必须为整数。
int m = sc.nextInt(); // X Y 的积
if(n==0&&m==0){
break;
}
String str ;
double b = n*n-4*m;// b 小于0 表示无解
if(b<0){
str="No";
}else{
double x = 1.0*(n+Math.sqrt(b))/2; // 表示解;
str= (x!=(int)x)?"No":"Yes"; // 判断X是否为整数解;
}
System.out.println(str);
}
}
}