洛谷经典题【深基1-2】小学数学 N 合一的一点小得

其中有问题13,题目描述如下

小 A 有两块球形橡皮泥,一个半径是 4,一个半径是 10。他想把这两块橡皮泥揉在一起,然后塑造成一个正方体,请问这个正方体的棱长是多少?如果结果不是整数,则舍去小数点之后的数字。取 \pi = 3.141593π=。

如此我们很自然的可以想到用 switch—case结构去解决问题  对于其中的case 13代码如下
        case 13:{
                 double i;

                double Pi=3.141593;
                 i=pow(1.0*4/3*Pi*(64+1000),1.0*1/3);
                 cout<<(int)i;break;
            break; }

  实验可得pow()内写上式一般,AC;

1.pow()内写4/3.0*Pi*(64+1000),1/3.0  AC;

2.pow()内写1.0*4/3*Pi*(64+1000),1/3.0  AC;

3.pow()内写1.0*4/3*Pi*(64+1000),1.0*1/3  AC;

4.pow()内写1.0*4/3*Pi*(64+1000),1/3  UAC;---------自然不行,因为1/3=0;

5.pow()内写4/3*1.0*Pi*(64+1000),1/3.0  UAC------比较2与5-说明对于乘式,其中两式之间乘以1.0并不可合法将该乘式化为浮点格式

6.pow()内写1.0*4/3*Pi*(64+1000),1/3*1.0 UAC----比较3与6-说明对于分式,于其后乘以1.0并不可合法将其化为浮点格式

为转浮点式,于分式之前乘以1.0才合法
  

### 回答1: d1 = float(input("请输入第1个球形橡皮泥的直径:")) d2 = float(input("请输入第2个球形橡皮泥的直径:")) r = (d1 + d2) / 4 # 先求出球的半径(两个直径相加再除以4) a = r * 2 # 正方体的边长等于球的直径 print("正方体的边长为:{:.2f}".format(a)) # 保留两位小数输出 ### 回答2: 编程实现如下: ``` import math # 从键盘读入第1个球形橡皮泥的直径 diameter1 = float(input("请输入第1个球形橡皮泥的直径:")) # 从键盘读入第2个球形橡皮泥的直径 diameter2 = float(input("请输入第2个球形橡皮泥的直径:")) # 计算正方体的边长 side_length = round(math.sqrt((diameter1 + diameter2) ** 2 / 6), 2) # 输出正方体的边长 print("正方体的边长为:", side_length) ``` 以上程序会先从键盘上读入第一个球形橡皮泥的直径和第二个球形橡皮泥的直径,并将其转换为浮点数类型。然后利用公式L = sqrt((d1 + d2)^2 / 6)计算正方体的边长,其中d1和d2分别为两个球形橡皮泥的直径。最后用round函数保留两位小数,将边长输出。 ### 回答3: 决定正方体的边长需要知道正方体的体积。而正方体的体积可以通过两个球形橡皮泥的体积之和来计算。 球形橡皮泥的体积计算公式为:V = (4/3) * π * r^3,其中r为球形橡皮泥的半径。 首先,从键盘读入第1个球形橡皮泥的直径d1,可以计算出半径r1 = d1 / 2。 再从键盘读入第2个球形橡皮泥的直径d2,计算出半径r2 = d2 / 2。 根据体积公式,确定两个球形橡皮泥的体积V1 = (4/3) * π * r1^3,V2 = (4/3) * π * r2^3。 然后,计算正方体的体积为V = V1 + V2。 由于正方体边长相等,可以通过正方体的体积公式V = 边长^3来计算边长。 即边长 = V^(1/3)。这个值保留两位小数后输出即可。 下面是该程序的实现: ```python import math d1 = float(input("请输入第1个球形橡皮泥的直径:")) r1 = d1 / 2 d2 = float(input("请输入第2个球形橡皮泥的直径:")) r2 = d2 / 2 V1 = (4/3) * math.pi * math.pow(r1, 3) V2 = (4/3) * math.pi * math.pow(r2, 3) V = V1 + V2 edge_length = math.pow(V, 1/3) edge_length = round(edge_length, 2) print("正方体的边长为:", edge_length) ``` 这样,根据用户输入的两个球形橡皮泥的直径,程序能计算出正方体的边长,并保留两位小数输出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值