计算并联电阻的阻值

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

把并联公式通分成 R = r1·r2/(r1+r2) 一次算出结果,再用 %.2f 格式化四舍五入保留 2 位小数输出。

OJ: roj

题目 ID: 1015

难度:入门

标签:入门数学python

创建: 2026-09-29 13:19

更新: 2026-10-04 22:30

题目描述

对于阻值为 r1r_1 和 r2r_2 的两个电阻,其并联总阻值按公式 R=11r1+1r2R = \dfrac{1}{\frac{1}{r_1} + \frac{1}{r_2}} 计算。

输入格式:一行两个浮点数 r1r_1、r2r_2,以一个空格分开。输出格式:输出并联之后的阻抗大小,保留小数点后 2 位。

输入样例:1 2;输出样例:0.67。

思路

把公式通分成 R=r1r2r1+r2R = \dfrac{r_1 r_2}{r_1 + r_2},读入后一次乘法一次除法即可;再用 printf("%.2f") 一步完成四舍五入与固定两位补零。

参考代码

Python 版:

python
#!/usr/bin/env python3
# Author by Rainboy blog: https://rainboylv.com github: https://github.com/rainboylvx
# rbook: -> https://rbook.roj.ac.cn  https://rbook2.roj.ac.cn
# rainboy的学习导航网站: https://idx.roj.ac.cn
# create_at: 2026-09-29 13:19
# update_at: 2026-09-29 13:19

import sys


def solve() -> None:
    r1, r2 = map(float, sys.stdin.buffer.read().split())
    # 并联公式 R = 1/(1/r1 + 1/r2) = r1*r2/(r1+r2),通分后少一次除法
    resistance = r1 * r2 / (r1 + r2)
    print(f"{resistance:.2f}")


if __name__ == "__main__":
    solve()

C++ 版(同一算法):

cpp
/**
 * Author by Rainboy blog: https://rainboylv.com github: https://github.com/rainboylvx
 * rbook: -> https://rbook.roj.ac.cn  https://rbook2.roj.ac.cn
 * rainboy的学习导航网站: https://idx.roj.ac.cn
 * create_at: 2026-10-04 22:30
 * update_at: 2026-10-04 22:30
 */

#include <cstdio>

// 并联电阻公式:R = 1/(1/r1 + 1/r2) = r1*r2/(r1+r2),通分后少一次除法
int main() {
    double r1, r2; // 两个电阻的阻值,浮点型
    scanf("%lf%lf", &r1, &r2);
    double r = r1 * r2 / (r1 + r2);
    printf("%.2f\n", r); // 四舍五入并固定保留 2 位小数
    return 0;
}