三角形两边之和大于第三边,若较小两边相加大于第三边即成立。
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
long long arr[110]={0};
cin>>n;
int zt=0;
for(int i=0;i<n;i++)//输入
{
cin>>arr[i];
}
sort(arr+0,arr+n);//排序
for(int i=0;i<n-2;i++)//根据三角形两边之和大于第三边,如果两条较小边相加大于第三边即成立
{
if(arr[i]+arr[i+1]>arr[i+2])
{
cout<<arr[i]<<" "<<arr[i+1]<<" "<<arr[i+2];
zt=1;//状态置1
break;
}
}
if(zt==0)//未置1则无解
{
cout<<"No solution";
}
}

京公网安备 11010502036488号