打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
在n个火柴里面拿3根出来拼接成最大三角形的周长
求三角形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];
//求三个数的最大值的时候 可以先求任意两个的最大值 然后再把这个最大值和第三个数进行比较得到最大值
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个数字里面最大的数字
public static int maxValue(int a,int b){
int max=0;
if(a>b){
max=a;
}else{
max=b;
}
return max;
}    
}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
计算三角形的周长和面积
(一).1
最大子序列和问题
条件结构-if
vue--自定义指令进行验证(1)
三角形的最大周长
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服