2017-09-02 60 views
-4
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的宽度; 这是正确的做法吗? 对不起,不发布代码早请给予好评使用面积和周长查找长度和宽度

+0

_every时间是完全不正确的,这就是为什么我不共享code_是啊..那就是为什么你应该分享你所做的 –

+0

'C1 = b * l'和'C2 = 2(b + 1)'但是不正确的结果? –

+0

“,这就是为什么我不分享代码,因为它没有多大用处。”如果你不分享你的代码,没有人能够告诉你你的错误是什么。 – tkausl

回答

3

因此,如果一个矩形为x高度和y宽度,则:

  • 面积= X * Y
  • 周长= 2X + 2Y

所以我们基本上有2个联立方程,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级的解决方案,因为高度可以等于宽度,反之亦然

我用一些公式结果