在n个火柴里面拿3根出来拼接成最大三角形的周长
生活随笔
收集整理的這篇文章主要介紹了
在n个火柴里面拿3根出来拼接成最大三角形的周长
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
求三角形max周長
public class 求三角形max周長 {
public static void main(String[] args) {/*** 有n個棍子 每個棍子的長度是a[i]* 3<=n<=100;* 1<=a[i]<=100; */
System.out.println("請輸入n根繩子");
Scanner input =new Scanner(System.in);
int n=input.nextInt();
System.out.println("每根繩子的長度");
int[] a=new int[n];
for(int i=0;i<n;i++){
a[i]=input.nextInt();
}
int max=0;
//讓i<j<k 這樣棍子就不會重復選中了 我一開始沒有想到 以后要記住
for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++){
for(int k=j+1;k<n;k++){
//三條邊的總和
int allLen=a[i]+a[j]+a[k];
//求三個數(shù)的最大值的時候 可以先求任意兩個的最大值 然后再把這個最大值和第三個數(shù)進行比較得到最大值
int maxLength=maxValue(a[i],maxValue(a[j],a[k]));
//剩下的兩邊之和 可以有總長度減去那個最大值
int rest=allLen-maxLength;
if(rest>maxLength){
//如何可以組成三角形 然后將答案更新
max=maxValue(max,allLen);
}
}
}
}
if(max==0){
System.out.println("無論怎么組合都不能組成三角形");}
else{
System.out.println("最大的周長是"+max);
}}
//求2個數(shù)字里面最大的數(shù)字
public static int maxValue(int a,int b){
int max=0;
if(a>b){
max=a;
}else{
max=b;
}
return max;
}
}
?
總結(jié)
以上是生活随笔為你收集整理的在n个火柴里面拿3根出来拼接成最大三角形的周长的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。