題目連結
題意:
每組測資給定4段長度,判斷可以組成哪種形狀
square(正方形): 4邊等長
rectangle(長方形): 2邊等長,另2邊也等長
quadrangle(四邊形): 不符合以上情況,但任3邊之和大於等於第4邊
banana 不符合以上條件的其餘情況
可以發現
square 也屬於 rectangle (符合長方形條件)
rectangle 也屬於 quadrangle (符合四邊形條件)
以下同理,關係大致如下:
解法:
依序判斷即可,先將4段長度排序
square
可以取最長跟最短比較
因為排序過,若該2者等長,則4段都等長
rectangle
取前 2 者與後 2 者判斷
quadrangle
就抓前3者的和與最長的判斷
(若成立,其他的組合也一定成立)
若都不符合,則為 banana (反正就什麼都不是....)
程式(Java):
題意:
每組測資給定4段長度,判斷可以組成哪種形狀
square(正方形): 4邊等長
rectangle(長方形): 2邊等長,另2邊也等長
quadrangle(四邊形): 不符合以上情況,但任3邊之和大於等於第4邊
banana 不符合以上條件的其餘情況
square 也屬於 rectangle (符合長方形條件)
rectangle 也屬於 quadrangle (符合四邊形條件)
以下同理,關係大致如下:
解法:
依序判斷即可,先將4段長度排序
square
可以取最長跟最短比較
因為排序過,若該2者等長,則4段都等長
rectangle
取前 2 者與後 2 者判斷
quadrangle
就抓前3者的和與最長的判斷
(若成立,其他的組合也一定成立)
若都不符合,則為 banana (反正就什麼都不是....)
程式(Java):
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.*; | |
public class Main { | |
public static void main(String args[]) { | |
Scanner sc = new Scanner(System.in); | |
int T = sc.nextInt(); | |
while (T-- > 0) { | |
int len[] = new int[4]; | |
for (int i = 0; i < 4; i++) | |
len[i] = sc.nextInt(); | |
Arrays.sort(len); | |
if (len[0] == len[3]) | |
System.out.println("square"); | |
else if (len[0] == len[1] && len[2] == len[3]) | |
System.out.println("rectangle"); | |
else if (len[0]+len[1]+len[2] >= len[3]) | |
System.out.println("quadrangle"); | |
else | |
System.out.println("banana"); | |
} | |
} | |
} |
留言
張貼留言