A. Parallelepiped
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
Hint
In the first sample the parallelepiped has sizes 1 × 1 × 1, in the second one — 2 × 2 × 3.
题意:一个平行六边行,给出共顶点的3个面的面积,让你求出这3个面上的共顶点的3条边的长度。
s1 = a*b;
s2 = a*c;
s3 = b*c;
那么 a = sqrt[ (s1*s2)/s3 ];
同理可得b, c 的值。
#include<stdio.h>
#include<string.h>
#include<cmath>
int main()
{
int sum = 0;
int a, b, c;
scanf("%d%d%d", &a, &b, &c);
sum += sqrt( (a*c)/b );
sum += sqrt( (a*b)/c );
sum += sqrt( (b*c)/a );
printf("%d\n", sum*4);
return 0;
}