2382 一半的一半
- 1 秒
- 131,072 KB
- 10 分
- 2 级题
输入n,牛牛想知道0.5的n次方的精确值。
注意是精确值,也就是小数有多少位,就要输出多少位,不四舍五入。(当然也不输出多余的0)
对于100%的数据,1 <= n <= 1000
对于60%的数据,1 <= n <= 27
对于30%的数据,1 <= n <= 4
收起
输入
输入一行一个整数n。
输出
输出0.5的n次方的精确值。
输入样例
77
输出样例
0.00000000000000000000000661744490042422139897126953655970282852649688720703125
题解:这个用java 大数写,谁都会,关键是要去掉 后导零 和 将幂次展开。
import java.util.*;
import java.math.*;
public class Main{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
int n=in.nextInt();
BigDecimal a=new BigDecimal(0.5);
for(int i=0;i<n-1;i++){
a=a.multiply(new BigDecimal(0.5));
}
a=a.stripTrailingZeros(); // 去掉后导零
System.out.println(a.toPlainString()); // 将幂次展开
}
}