輸入
n=5
a{2,3,4,5,10}
輸出
12(即3,4,5)
----------------------------------------
輸入
n=4
a{4,5,10,20}
輸出
0
----------------------------------------------
import java.io.*;
import java.lang.reflect.Array;
import java.util.*;
public class Main
{
public static void main(String[] args) {
int c,n,maxC;
//周長
c=0;
//最大周長
maxC=0;
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
System.out.println("n="+n);
int[] a = new int[n];
for(int i=0;i<n;i++){
a[i]=sc.nextInt();
}
Arrays.sort(a); //把輸入的數從小到大排序
for(int i=0;i<n;i++){
for(int j= i+1;j<n;j++){
for(int k = j+1;k<n;k++){
/*因爲已經排序,所以每次a[k]都是最長的一條邊
* 因此判斷兩短邊之和是否大於長邊即可判斷是否能形成三角形
* 若能形成三角形計算其周長
*/
if(a[i]+a[j]>a[k]){
c = a[i]+a[j]+a[k];
}
//如果周長大於最大周長,則有更長的周長,更新maxC
if(maxC<c){
maxC = c;
}
}
}
}
System.out.println(maxC);
}
}