这坑货 (迭代+迭代终止条件(由误差控制))

来源:互联网 发布:centos 离线安装ruby 编辑:程序博客网 时间:2024/06/03 15:36

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 131072K,其他语言262144K
64bit IO Format: %lld
题目描述
qwb闲着无聊,就开始拆自己的电脑,他发现主板上某个元件可以视作如图所示无限长的电路。已知该电路由三种不同的电阻r1,r2,r3构成,他想要计算ab之间的电阻。

输入描述:
第一行输入一个整数T,表示数据组数,
接下来T行,每行三个整数r1,r2,r3。
输出描述:
每组数据输出一行,保留两位小数。
示例1
输入

2
1 1 1
1 2 3
输出

2.73
5.46
备注:
T≤104,
1≤r1,r2,r3≤104

#include<stdio.h>int main(){    int t;    scanf("%d\n",&t);    while(t--){        int r1,r2,r3;        scanf("%d%d%d",&r1,&r2,&r3);        double f=r2;        double ff=f;        for(int i=1;;i++){            f=(1.0*(r1+r3+ff)*r2)/(1.0*(ff+r1+r2+r3));            if(ff-f<0.0000001) break;//要误差小于1e-6            ff=f;        }        f+=(r1+r3);        printf("%.2lf\n",f);    }    return 0;}
原创粉丝点击