1.问题分析:
原题链接:http://poj.org/problem?id=1045
这道题主要的难点在于利用两个公式对电阻值这一未知量Vr进行推导,并且在最后应该消去这个变量。然鹅,在做这道题的时候,我的数学和物理知识都已经退还给了老师们,所以并没有感觉这道题是特别水的水题,emmm,也可能是我太菜了。所以下面我会给出较为详细的推导过程(我就不信就我一个这么菜的)。
2.公式推导:
题中给出的公式:
(1)
(2)
(3)
(4)
已知量为输入的四个值:;
待消去量:;
待求解量:。
可知有如下公式(5):
联立公式(2)和(5)可得:
分别令
有如下结果:
1)
2)
假设有如下三角形:
可得:
从而:
到此公式左边为待求量,公式右边为可知量,推导完毕。
3.代码
#include <stdio.h>
#include <cmath>
int main()
{
int n=0; //测试用例的数量
double Vs, R, C, w; //分别为源电压、电阻、电容、角频率
double Vr; //记录结果
scanf_s("%lf %lf %lf %d",&Vs,&R,&C,&n);
while (n>0)
{
scanf_s("%lf", &w);
Vr = (C*R*w*Vs) / sqrt(1 + C * C*R*R*w*w);
printf("%.3lf\n",Vr);
n--;
}
return 0;
}