题解 | #长方体#

长方体

https://ac.nowcoder.com/acm/problem/15869

题目描述

给出共享长方体一个顶点的三个面的面积,求它十二条边的边长和。

输入描述:

一行三个整数a, b, c表示面积(1 <= a, b, c <= 10000)。

输出描述:

一行一个整数表示边长和。
示例1

输入

1 1 1

输出

12
示例2

输入

4 6 6

输出

28
思路:设长方体的边长分别为x,y,z,输入的面积分别为a,b,c
既有x*y=a,x*z=b,y*z=c
整理得到x=sqrt(a*b/c);y=sqrt(a*c/b);z=sqrt(b*c/a);
长方体边长和为4*(x+y+z)=4*(sqrt(a*b/c)+sqrt(a*c/b)+sqrt(b*c/a));
得解
注:无需用double类型,用int类型即可,答案不会超过int的范围
代码如下:
#include<stdio.h>
#include<math.h>
int main(){
    int a,b,c,ans=0;
    scanf("%d%d%d",&a,&b,&c);
    ans=sqrt(b*c/a)+sqrt(a*c/b)+sqrt(a*b/c);
    printf("%d\n",4*ans);
    return 0;
}

这是本人对于算法入门班共十三章习题的题解与个人的一些感悟,本人写题解的目的是对于某些经典的/陌生的/无从下手的/思维方向错误的题目加深印象。 希望自己能够在学习算法的路上走得更远,今天也是努力学习的一天!

全部评论

相关推荐

数学转码崽:一直给我推,投了又不理,理了又秒挂
点赞 评论 收藏
分享
kl_我是东山啊:《相关公司:阿里巴巴》
投递阿里巴巴等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务