ハング電動ブラシOJタイトル(2092)

整数解

トピック説明:
整数まで追加二つの整数があります乗り上げに等しく、最後に真または偽である別の整数が、これはそれが存在するかどうか最終的には整数であり、それは確か少しではありません、あなたはすぐにそれに答えることができます?それが唯一のプログラミングによりらしいです。
例えば:
。?X = Y + 9、Y = X * 15ないような整数x及びy
1 * 4 + 4 = 5,1 = 4、従って、4に等しい整数2で、最大5まで追加、図1及び図4に
+ 7( - 8)= - 1.7 *( - 8)= - 56、従って、乗算、-1に7に等しい整数2を加算し、-8 -56に

入力

入力データがN、Mのペアの整数である(-10000 <N、M <10000)の両方が0、入力端である場合、整数の和と積を表します。

出力

のみ各n及びmのために、出力「はい」または「いいえ」は、明らかにライン上のそのような整数がまだ存在しません。

サンプル入力

9 15 
5 4 
1 -56 
0 0

サンプル出力

ノー
はい
はい

分析:

 

∵x+ Y = N 
∴y= NX 
∵xy= M 
∴(NX)= M * X 
∴x* X - N X + M = 0 
、T = N * N * 4メートル

その答えによって:

#include<stdio.h>
#include<math.h>
int main(){
	int n,m,t,t1;
	while(scanf("%d %d",&n,&m)!=EOF){
		if(n==0&&m==0)break;
		t=n*n-4*m;       //△=b*b-4*a*c 
		t1=(int)sqrt(t);    
		if(t>=0&&t==t1*t1){    //△>=0表示方程有解并且解都为整数 (关键)
			printf("Yes\n");
		}else{
			printf("No\n");
		}
	}
	return 0;
} 

 

公開された76元の記事 ウォンの賞賛3 ビュー1850

おすすめ

転載: blog.csdn.net/ZhangShaoYan111/article/details/104374085