欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > python-长方体边长和(赛氪OJ)

python-长方体边长和(赛氪OJ)

2024/10/25 18:30:33 来源:https://blog.csdn.net/2401_83954530/article/details/140345798  浏览:    关键词:python-长方体边长和(赛氪OJ)

[题目描述]
给出共享长方体一个顶点的三个面的面积,求它十二条边的边长和。
输入格式:
一行三个整数 a , b , c 表示面积。
输出格式:
一行一个整数表示边长和。
样例输入#1
1 1 1
样例输出#1
12
样例输入#2
4 6 6
样例输出#2
28
数据范围:
对于 100% 的数据,1≤a,b,c≤10000。
来源/分类(难度系数:一星)


完整代码展示:
a,b,c=map(int,input().split())
x=pow(a*b/c,0.5)
y=pow(a*c/b,0.5)
z=pow(b*c/a,0.5)
print(int(4*(x+y+z)))


代码解释:
a,b,c=map(int,input().split()) ”,让用户分别输入长方体共顶点三个面的面积a,b,c。
x=pow(a*b/c,0.5)
 y=pow(a*c/b,0.5)
 z=pow(b*c/a,0.5) 
”,令x,y,z分别为长方体共顶点三个面中的共顶点三条边并分别求出其值。
print(int(4*(x+y+z))) ”,打印4倍x+y+z的总和(长方体由4条长,宽,高边组成)。
本题解题思路及核心:1,解题思路:已知x*y==a,x*z==b,y*z==c,则y/z==a/b,又y*z==c,联立y/z==a/b,y*z==c,得y==z*a/b,y==c/z,即z*a/b==c/z,容易得到:z**2==b*c/a,z==pow(b*c/a,0.5)。x,y同理。2,解题核心:面积与边长关系,本题不适合用穷举法计算,特别是Python,运行时间很容易超限,这是本题所设的一个逻辑陷阱)


运行效果展示:

f6087cabee5f4a4fb46bfb8d0b36da29.jpg

da682881949543688014659e8a354c41.jpg 

             (声明:以上内容均为原创) 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com