一半的一半(51Nod-2382)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011815404/article/details/89534451

题目

输入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 的 BigDecimal 类即可

源程序

import java.math.*;
import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		while(input.hasNext()){
			int b=input.nextInt();
			BigDecimal c=new BigDecimal("0.5");
			c=c.pow(b);
			String str=c.toPlainString();
			System.out.println(str);
		}
		input.close();
	}
}

猜你喜欢

转载自blog.csdn.net/u011815404/article/details/89534451