題目描述
fps遊戲是第一人稱射擊遊戲。這類遊戲有乙個很重要的技巧也是基本功之一的,是壓槍。
為了模擬真實環境,在遊戲裡你每開一槍,槍口都會往上和左右浮動。
如果你想使槍口在某個範圍內,為了提高精準度,你就必須壓槍。
而且每把槍的後坐力不同和有效打擊距離不同,就需要對每把槍都很熟悉,能很快的計算出在多遠距離外開槍槍口會往上和左右浮動多少。
現在只考慮槍的垂直浮動。
假設在d公尺外有乙個靶子,初始槍口正對靶心的圓心,靶心是個半徑為r公尺的圓,現在你要射擊c次。(你可以把槍看成乙個點)。
為了省力,要使壓槍次數最少。
只有當在靶上的射擊位置在靶心之外時才需要壓槍。
每次壓槍,槍口都會回到上次的射擊位置。
每次開槍最多只能壓一次槍,不能連續壓槍。
輸入每個輸入檔案只包含一組資料。
包含3個正整數d,r,c和1個實數a(d,r,c意義如上文所述,a是每次開槍,槍口向上浮動的角度)。
(1 <= d,r <= 100,0 <= c <= 1000000,0 <= a < 90)
輸出乙個整數,表示壓槍的最少次數。
樣例輸入
複製樣例資料
10 1 10 3
樣例輸出
8題目其實並不難,但是需要用到三角函式求角度,這裡用到了角度的轉換,從第一槍開始,當超出半徑範圍之後每一槍都需要壓槍,所以在超出範圍後跳出迴圈然後一減就是結果了。
ac**
#include#include#includeusing namespace std;
double pi = 4.0 * atan(1);
int main()
cout
}
常見三角函式與反三角函式
16341019 資料科學與計算機學院 toc 三角函式公式 反三角函式公式 簡單函式影象 1三角函式公式 兩角和公式 sin a b sinacosb cosasinb sin a b sinacosb cosasinb cos a b cosacosb sinasinb cos a b cosa...
常見三角函式與反三角函式
16341019 資料科學與計算機學院 toc 三角函式公式 反三角函式公式 簡單函式影象 1三角函式公式 兩角和公式 sin a b sinacosb cosasinb sin a b sinacosb cosasinb cos a b cosacosb sinasinb cos a b cosa...
三角函式與反三角函式的使用
假設該三角形是直角三角形。那麼 依照數學基礎是 sin b b c 其中b是邊b對應的角 但是在c c 程式上面稍微有點不同 那就是弧度制與角度制的區分 先說三角函式,在 程式設計裡面 舉sin 為例 sin 弧度制 只有裡面放弧度制,才能算的精準,假設要算45 的sin值 那麼對45 進行轉換為弧...