演算法提高 7 2求arccos值

2021-08-08 10:05:40 字數 1013 閱讀 9533

演算法提高 7-2求arccos值
原本以為這是一道水題,用了暴力法,然後從0開始,因為看到題目後面說精度要達到小數點後五位,於是我把第增量盡可能小,每次增加0.000001,然後在while迴圈中用fabs函式判斷該數的cos值是否和輸入的值相近,如果是,則可以認為這時候已經遍歷到正確值附近,輸出!

到這裡一切都看似很正常對吧?可是當我提交到lanqiao練習系統時,發現只有33分,於是我在鍵入其他資料進行測試,發現只有輸入0.5時候,結果是相符的,如果輸入-1,得出來的是3.14018,而題目中提供的pi是3.1415926,正確應該輸出3.14018。下面我貼出我原來這道題的**,至今我想不明白,我**中哪個地方出錯了,如果有哪位大神看的出來,麻煩指示以下!

#include

#include

#include

#include

using

namespace

std;

int main()

cout

<5)0; }

//-1

然後我google了一下,發現別人的做法出乎意料的簡便,直接無視題目中的cos函式和fabs函式,直接使用標準庫中的acos函式去求,驚呆了,像我們這種孤陋寡聞的,都不知道標準庫中有這麼方便的函式,還傻乎乎的被題目騙去使用cos函式,我覺得這其實像是一種作弊,或許叫做小技巧。話不多說,貼出這段**出來。

#include

#include

int main()

看了這份**,我覺得我有兩點收穫是:

要了解math.h中基本函式的用法,不懂得使用就吃虧了,c 標準庫-

c語言有比c++函式有乙個很大優勢就是在輸入和輸出方面,可以很便捷的進行輸入輸出格式化控制,比如你想輸出乙個雙精度的小數點後五位,您可以printf(「%.5lf」,a);當然我這麼說只是很淺顯的說法,更加詳細可以參考這篇文章:c語言輸出函式(printf)和輸入函式(scanf)

演算法提高 求最大值

演算法提高 求最大值 時間限制 1.0s 記憶體限制 256.0mb 問題描述 給n個有序整數對ai bi,你需要選擇一些整數對 使得所有你選定的數的ai bi的和最大。並且要求你選定的數對的ai之和非負,bi之和非負。輸入格式 輸入的第一行為n,數對的個數 以下n行每行兩個整數 ai bi 輸出格...

試題 演算法提高 求最大值

時間限制 1.0s 記憶體限制 256.0mb 問題描述 給n個有序整數對ai bi,你需要選擇一些整數對 使得所有你選定的數的ai bi的和最大。並且要求你選定的數對的ai之和非負,bi之和非負。輸入格式 輸入的第一行為n,數對的個數 以下n行每行兩個整數 ai bi 輸出格式 輸出你選定的數對的...

藍橋杯 演算法提高 求最大值

演算法提高 求最大值 時間限制 1.0s 記憶體限制 256.0mb 問題描述 給n個有序整數對ai bi,你需要選擇一些整數對 使得所有你選定的數的ai bi的和最大。並且要求你選定的數對的ai之和非負,bi之和非負。輸入格式 輸入的第一行為n,數對的個數 以下n行每行兩個整數 ai bi 輸出格...