当前位置: 代码迷 >> J2SE >> 请教怎么使用大数据(BigDecimal)求棋盘议长麦的有关问题
  详细解决方案

请教怎么使用大数据(BigDecimal)求棋盘议长麦的有关问题

热度:546   发布时间:2016-04-24 01:01:29.0
请问如何使用大数据(BigDecimal)求棋盘议长麦的问题
package com.tiankechuan.exam;

import java.math.BigDecimal;

/*
 * 在棋盘的第1个格子里放1粒,在第2个格子里放2粒,在第3个格子里放4粒,
 * 在第4个格子里放8粒,依此类推,以后每一个格子里放的麦粒数都是前一个
 * 格子里放的麦粒数的2倍,直到放满第64个格子就行了”
 */
public class ChessTest
{
public static void main(String[] args)
{
long number1 = 2, number2 = 4, count = 0;
for (int i = 1; i <= 5; i++)
{
if (i == 1)
{
count = 1;
}
if (i == 2)
{
count = 2;
}
if (i == 3)
{
count = 4;
}
else
{
count = number1 * number2;
number1 = number2;
number2 = count;
}
}
System.out.println(count);
}
}
用long类型数值不够,请问如何用BigDecimal类型求出准确值,另外,这个可以用递归方法解决吗?谢谢

------解决方案--------------------
//打算循环输出?
Java code
import java.math.BigDecimal;public class ChessTest {    static final BigDecimal start = new BigDecimal("2");    public static BigDecimal CalCount(int n){      BigDecimal result=start.pow(n);                return result;    }    public static void main(String[] args) {        for(int i=0;i<64;i++){            BigDecimal count = ChessTest.CalCount(i);            System.out.println(count);        }            }}