算法提高 7-2求arccos值 時間限制:10.0s 內存限制:256.0MB 提交此題 問題描述 利用標準庫中的cos(x)和fabs(x)函數實現arccos(x)函數,x取值范圍是[-1, 1],返回值為[0, PI]。要求結果準確到小數點后5位。(PI = 3.1415926) 提示:要達到這種程度的精度需要使用double類型。 樣例輸入 0.5 樣例輸出
數據規模和約定 -1 <= x <= 1, 0 <= arccos(x) <= PI。
#include<cstdio>#include<cmath>#define PI 3.1415926using namespace std;int main(){ float x; double s; scanf("%f",&x); if(x==0) s=PI/2; else if(x<0) s=PI-atan(sqrt(1-x*x)/(-1*x)); else s=atan(sqrt(1-x*x)/x);新聞熱點
疑難解答