码迷,mamicode.com
首页 > 编程语言 > 详细

nyoj 45 棋盘覆盖 【Java大数】

时间:2014-09-06 23:53:24      阅读:557      评论:0      收藏:0      [点我收藏+]

标签:java   大数   

先算出来2^k*2^k 之后减去1,最后除3即可

代码:

import java.util.Scanner;
import java.math.*;
public class Main{
	public static void main(String[] args){
		Scanner cin = new Scanner(System.in);
		BigInteger ans,ans1, temp, temp1, temp2;
		int n, i = 0;
		n = cin.nextInt();
		temp = new BigInteger("2");
		temp1 = new BigInteger("1");
		temp2 = new BigInteger("3");
		while(i < n){
			int k;
			k = cin.nextInt();
			ans = new BigInteger("2");
			int j = 2;
			for(; j <= k; j ++){
				ans = ans.multiply(temp);
				//System.out.println(ans);
				//j ++;
			}
			//ans = temp.pow(k);
			ans = ans.multiply(ans);
			//System.out.println(ans);
			ans = ans.subtract(temp1);
			//System.out.println(ans);
			System.out.println(ans.divide(temp2));
			i++;
		}
	}
}        
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=45

nyoj 45 棋盘覆盖 【Java大数】

标签:java   大数   

原文地址:http://blog.csdn.net/shengweisong/article/details/39105547

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!