计算并联电阻的阻值

GitHub跳转原题关系图返回列表

将并联公式化为 r1*r2/(r1+r2) 并保留两位小数。

OJ: noi_openjudge

题目 ID: ch0103-10

难度:入门

标签:数学浮点数python

日期: 2026-07-30 23:01

题意

输入两个电阻,输出它们并联后的阻值,保留 2 位小数。

思路

原式为 R=1/(1/r1+1/r2)R=1/(1/r_1+1/r_2)。通分后得到 R=r1r2/(r1+r2)R=r_1r_2/(r_1+r_2),代码使用后者,除法更少且表达清晰。用 .2f 输出。

代码

Python代码

python
resistance1, resistance2 = map(float, input().split())
print(f"{resistance1 * resistance2 / (resistance1 + resistance2):.2f}")

C++代码

cpp
#include <cstdio>
#define pi 3.14159

int main(){
    float a,b;
    scanf("%f%f",&a,&b);
    printf("%0.2f ",1/(1/a+1/b));
    return 0;
}

复杂度

时间复杂度和额外空间复杂度均为 O(1)O(1)

总结

代数变形能把分式公式变成更直接的实现,前提是分母条件仍由题目保证。