2017-09-02 108 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級的解決方案,因爲高度可以等於寬度,反之亦然

我用一些公式結果