使用面积和周长查找长度和宽度

时间:2017-09-02 04:47:30

标签: java math

 import java.io.*;
 import java.util.Scanner; 
  class GFG {
    public static void main (String[] args) {
    Scanner in = new Scanner(System.in);
       int  area = in.nextInt();
       int peri=in.nextInt();
       double len,bre;
       double temp=Math.sqrt((peri*peri)-(16*area));
       len=(peri+temp)/4;
       bre=(peri-temp)/4;
       System.out.println(len+" "+ bre);
}
}

我制作了这个程序,从(peri + temp)/ 4得到长度; (peri-temp)/ 4的宽度和宽度; 这是正确的方法吗? 很抱歉没有提前发布代码请upvote

1 个答案:

答案 0 :(得分:3)

所以如果一个矩形是x高度和y宽度,那么:

  • area = x * y
  • 周长= 2x + 2y

所以我们基本上有两个联立方程,xy = A,2x + 2y = B

x = A / y所以

B = 2A / y + 2y所以

yB = 2A + 2y * y

2y * y - yB + 2A = 0

是二次方并且可以使用二次方程

求解

y = B + - sqrt(B * B - 4 * 2 * 2A)/(2 * 2)

或简化:y = B + - sqrt(B * B - 16 * A)/ 4

然后你从A / y获得x

注意 - 你得到2个解决方案,因为高度可能等于宽度,反之亦然