19.蓝桥杯2012第三题麦子问题

/*

  • 、你一定听说过这个故事。国王对发明国际象棋的大臣很佩服,问他要什么报酬,
  • 大臣说:请在第1个棋盘格放1粒麦子,在第2个棋盘格放2粒麦子,在第3个棋盘格放4粒麦子,在第4个棋盘格放8粒麦子,......后一格的数字是前一格的两倍,直到放完所有棋盘格(国际象棋共有64格)。
    国王以为他只是想要一袋麦子而已,哈哈大笑。
    当时的条件下无法准确计算,但估算结果令人吃惊:即使全世界都铺满麦子也不够用!
    请你借助计算机准确地计算,到底需要多少粒麦子。
    */

解法:
因为数值太大,一般类型都装不下,必须要用到大整型BigInteger,
创建一个数值为0和2的BigInteger, 0 用来累加,2用于底数,
因为从题中可以得到规律,第一个棋盘中有1粒麦子,1 为 2的零次方 2为 2的1次方 4 为 2的2次方 ......

BigInteger 中的add为加法函数,pow为 值得次方函数


import java.math.BigInteger;

public class B3_2 {

    public static void main(String[] args) {
        BigInteger bi = new BigInteger("0");
        BigInteger two = new BigInteger("2");
        for(int i =0;i<64;i++) {
            bi = bi.add(two.pow(i));
        }
        System.out.println(bi.toString());
    }

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这两天见到来深圳找工作的堂妹,闲时有教她下国际象棋(其实也就教了一些基本的棋子走法)。对照着中国象棋,我想来...
    李吉诃德阅读 5,271评论 14 72
  • 朋友们,大家好! 数学是最集中、最深刻、最典型地反映了人类理性和逻辑思维所能达到的高度,所以,11 世纪大...
    姜显威阅读 1,323评论 0 0
  • 1.人应该要有自己的主见 如果没有主见,就容易随波逐流,人云亦云,最终一事无成。 柯尔家的人都以画画为生,柯尔也非...
    好听的暖阳阅读 290评论 0 0
  • 昨晚日更文《伟大的我们,却把自己活小了》中的一段视频《武士和苍蝇》:武士不断的受到苍蝇的打扰而不能一心一意打坐、修...
    冉茂睿阅读 470评论 5 5
  • 话说“你不理财、财不理你”,然而对很多人来说,理财就像健身一样,依然在遥远的未来。“等我有钱了就理财”和“等我有时...
    阳光阿四阅读 633评论 5 13