三角形


輸入

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);
	    
	}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章