我在数学系上有点生疏,我想计算一个直角三角形的斜边,给定高度(h)和相反角度(C)。
我试过这个:
double a = h / Math.Sin(v);
整个代码段:
string line;
while ((line = Console.ReadLine()) != null)
{
string[] split = line.Split(new char[] { ' ' }, StringSplitOptions.None);
long h = Int64.Parse(split[0]);
long v = Int64.Parse(split[1]);
double res = h / Math.Sin(v);
Console.WriteLine(res);
}
然而,这并没有给我正确的答案。例如,如果高度为10000且角度C为89,则斜边应为~10001但是我得到~11626。我在javascript和C#中尝试了这个但是我得到了同样错误的答案,但是我的计算器给出了正确的答案。 对我做错了什么想法?
答案 0 :(得分:2)
您面临的问题是您的计算是以弧度而非度数
完成的要解决此问题,您必须将度数转换为弧度,如此
| c1 | c2 | str |
|=======|=======|======================|
| 1 | 1-1 | 3A,4A,3B,4B,3C,4C |
| 1 | 1-2 | 3D,4D |
| 2 | 2-1 | 3E,4E,3F,4F |
| 2 | 2-2 | 3G,4G,3H,4H |
答案 1 :(得分:1)
角度c必须是弧度而不是度
让Radians使用C * Math.PI / 180