Description
You've got a rectangular parallelepiped with integer edge lengths. You know the areas of its three faces that have a common vertex. Your task is to find the sum of lengths of all 12 edges of this parallelepiped.
Input
The first and the single line contains three space-separated integers — the areas of the parallelepiped's faces. The area's values are positive ( > 0) and do not exceed 104. It is guaranteed that there exists at least one parallelepiped that satisfies the problem statement.
Output
Print a single number — the sum of all edges of the parallelepiped.
Sample Input
1 1 1
12
4 6 6
28
Sample Output
301 425 -1
Hint
In the first sample the parallelepiped has sizes 1 × 1 × 1, in the second one — 2 × 2 × 3.
题意:给出一个正六面体(其实就是个长方体,一开始没反应过来 sad) 给出三个面的面积s1,s2,s3,让你求出12条边的长度。
思路:先求出长宽高a,b,c来,然后相加*4即可。那么问题来了 如何求。
a*b=s1,a*c=s2,b*c=s3,然后联立就可以了。
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
int main()
{
int s1,s2,s3;
int a,b,c;
scanf("%d %d %d",&s1,&s2,&s3);
a=sqrt(s1*s3/s2);
b=sqrt(s1*s2/s3);
c=sqrt(s2*s3/s1);
int d=(a+b+c)*4;
printf("%d\n",d);
return 0;
}