【30982/9652】 勾股定理

题目描述

在比赛期间,有一些有奖竞答活动,其中一个是找勾股定理的数。

已知有三个不超过150的正整数a、b、c,它们符合勾股定理:

a*a + b*b =c*c

数学家常常用边长分别是a,b,c的正方形来证明这个定理。如下面这个图

image.png

现在给你a和b,让你编程求出c,并用goc画出类似的简易图,如果不存在正整数的c,就不要画出大的正方形。

输入格式 一行2个不超过150的正整数。

输出格式 相应的图形。

输入/输出例子1

输入:

90 120

输出:

image.png

输入/输出例子2

输入:

100 80

输出:

image.png

题解

int main(){
    
    int a,b,c;
    cin >> a >> b;
    c=0;
    for (int i=1; i<=150; i++){
        if (a*a+b*b==i*i)
            c=i;
    }
    
    p.moveTo(-a/2.0,a/2).r(a,a);
    p.moveTo(b/2.0,-b/2.0).r(b,b);
    if (c>0){
      p.moveTo(b,0).lineTo(b+a,b);
      p.lineTo(a,b+a).lineTo(0,a).lineTo(b,0);
    }        
    p.hide();   
        
    return 0;
}