?
一个YES,一个Yes。试了10几次、、我也是无语了。。哪里都不错的。。。。
很简单,用2次求根公式求出其中一个的值,然后判断是否为整数 if (x == int(x) )。
或者 用最直接的方法,从-m到m挨个算。有意结果时停止。
?
源码:
#include
#include
int main() { int m,n; double x,y; while (scanf(%d%d,&n,&m)!=EOF&&(m!=0||n!=0)) { x = ((double)n+(double)sqrt((double)(n*n-4*m)))/2; //y = ((double)n-(double)sqrt((double)(n*n-4*m)))/2; if (x == int(x) )//|| y == int(y)) printf(Yes ); else printf(No ); } return 0; } /* #include
#include
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 ); else printf(Yes ); } }*/
?
?