算法提高 7-2求arccos值

来源:互联网 发布:类似于易企秀的软件 编辑:程序博客网 时间:2024/06/05 01:11

  算法提高 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。


格式化输出是重点:

下面用列子来解释,用到的是DecimalFormat类 :

[java] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. public class Test {  
  2.   public static void main(String[] args) {  
  3. double b=10/3.0;  
  4. System.out.println(b);  
  5.   }  
  6. }  


结果是3.3333333333333335


设置输出数的格式要用到DecimalFormat类


[java] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. DecimalFormat df = new DecimalFormat( "0.00000 ");   
  2. System.out.println(df.format(b));  


结果就是3.33333
要控制几位小数就设置df的格式就行了!


import java.text.DecimalFormat;import java.text.NumberFormat;import java.util.Scanner;public class Main {public static void main(String[] args) {DecimalFormat df = new DecimalFormat( "0.00000 ");   //DecimalFormat df=(DecimalFormat)NumberFormat.getInstance(); Scanner sc = new Scanner(System.in);double n = sc.nextDouble();n = Math.acos(n);df.setMaximumFractionDigits(5);System.out.println(df.format(n)); }}




1 0