三条边 a,b,c;
假设
ab=a[1];
ac=a[2];
bc=a[3];
假设a[1]>a[2]>a[3];
式子处理,可以得到c=sqrt((a[1]a[2])/a[3]));//a,b,c任何一个都可以等于这个
b=a[3]/c;
a=a[1]/b;
就是一个规律,面积大的除了两个面积小的开方得到最短的边,最小的面积除以最短的边得到第二大的边,最大的面积除以第二大的边得最大的边
#include<iostream> #include<bits/stdc++.h> #define maxx 1000 using namespace std; int main() { double a,b,c; double m[10]; for(int i=1;i<=3;i++) { cin>>m[i]; } sort(m+1,m+4); a=sqrt((m[2]*m[1])/m[3]); b=m[1]/a; c= m[3]/b; a=(a+b+c)*4; cout<<a; }