UVa10221 - Satellites (數論 Math theorm)

題目大意:

如圖,給你圓上兩點夾角,和點圓心的距離
求出兩點的弧長與弦長。

分析:

分水嶺,看出來你先學會數學在學會程式 還是 先學會程式在學會數學(我是後者 QQ )

對於本人來說是,非常難的一題阿!!!! (我真笨,想不到數學弦長,餘弦定理)

如果你也不知道餘弦定理,沒關係可以的,我幫你找到傳送門了 → 餘弦定理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
#include <bits/stdc++.h>
#define LOCAL
#define minutes = minute of angle not time minutes
using namespace std;


int main()
{
#ifdef LOCAL
freopen("in1.txt" , "r" , stdin) ;
#endif // LOCAL
string strA ;
double a , s , douArc , douChord ;
while(cin >> s >> a >> strA ){
if(strA == "min")
a /= 60 ;
s += 6440 ;
if(a > 180)
a = 360 - a ;
douArc = 2 * s * 2 * acos(0) * a / 360 ;
douChord = sqrt(s * s + s * s - 2 * s * s * cos(2*acos(0) * a / 180 ) ) ;
cout << fixed << setprecision(6) << douArc << ' ' << douChord << '\n' ;

}
return 0;
}
  • 版權聲明: 本部落格所有文章除有特別聲明外,均採用 Apache License 2.0 許可協議。轉載請註明出處!
  • © 2020-2024 John Doe
  • Powered by Hexo Theme Ayer
  • PV: UV: