程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 杭電ACM2092--整數解

杭電ACM2092--整數解

編輯:C++入門知識

杭電ACM2092--整數解


 

一個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
);
	}
}*/

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved