自学内容网 自学内容网

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 

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


原文地址:https://blog.csdn.net/2401_83954530/article/details/140345798

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!