首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

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

2012-05-21 
请问如何使用大数据(BigDecimal)求棋盘议长麦的问题package com.tiankechuan.examimport java.math.BigDe

请问如何使用大数据(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);        }            }} 

热点排行