杭电ACM2092--整数解 分析
http://acm.hdu.edu.cn/showproblem.php?pid=2092
一个YES,一个Yes。试了10几次、、我也是无语了。。哪里都不错的。。。。
很简单,用2次求根公式求出其中一个的值,然后判断是否为整数 if (x == int(x) )。
或者 用最直接的方法,从-m到m挨个算。有意结果时停止。
源码:
#include <stdio.h>
#include <math.h>
int main()
{
int m,n;
double x,y;
while (scanf("%d%d",&n,&m)!=EOF&&(m!=||n!=))
{
x = ((double)n+(double)sqrt((double)(n*n-*m)))/;
//y = ((double)n-(double)sqrt((double)(n*n-4*m)))/2;
if (x == int(x) )//|| y == int(y))
printf("Yes\n");
else
printf("No\n");
}
return ;
}
/*
#include<stdio.h>
#include<math.h>
void main()
{
int n,m,i;
while(scanf("%d%d",&n,&m)==2&&(n!=0||m!=0))
{
for(i=-abs(m);i<=abs(m);i++)
{
if(i*(n-i)==m)
break;
}
if(i==(abs(m)+1))
printf("No\n");
else
printf("Yes\n");
}
}*/