当前位置: 代码迷 >> Java相关 >> 国王赏赐的麦子(送分帖)
  详细解决方案

国王赏赐的麦子(送分帖)

热度:460   发布时间:2009-12-26 09:33:52.0
国王赏赐的麦子(送分帖)
  古印度有个叫锡塔的大臣,他聪明过人,发明了一种棋,就是后来的国际象棋。国王玩了,十分喜欢,百玩不厌,于是决定重赏锡塔。他对锡塔说:“你自己选一个赏赐吧,我一定会满足你提出的任何要求。”
  锡塔说:“陛下,我只要点麦子。”
  “麦子?”国王觉得很意外,“你只要点麦子?”
  “是的,陛下,请您让人将麦子放在棋盘的六十四个格子内,第一格放一粒,第二格放二粒,第三格放四粒,第四格放八粒,第五格放十六粒……照这样放下去,每格比前一格多放一倍麦粒,直到把六十四个棋格放满就行了。”

编写程序求第64格可放多少粒小麦

输入
    java Grains

输出结果

    square 1:  1 grain
    square 2:  2 grains
    square 3:  4 grains
    square 4:  8 grains
    。。。。。。。。。
    。。。。。。。。。
    square 64:  ? grains

搜索更多相关的解决方案: 国王  麦子  赏赐  

----------------解决方案--------------------------------------------------------
输入
    java Grains

还输入这个做什?有啥用。

----------------解决方案--------------------------------------------------------
java Grains是在CMD下运行程序
----------------解决方案--------------------------------------------------------
呵呵。
又了解了个东西
----------------解决方案--------------------------------------------------------
程序代码:
class Maizi{
    double gezi;
    double shoufang;
    double all;
    Maizi(int a,int b){
        gezi=a;
        shoufang=b;
        all=shoufang;
    }
    void dgsum(){
        double sum=shoufang;
        double all=0;
        for(int i=1;i<=gezi;i++){
            if(i==1) System.out.println("第"+i+"格有种子:"+sum);
            else {
                sum=sum*2;
                System.out.println("第"+i+"格有种子:"+sum);
            }
            all=all+sum;
        }
        System.out.println("种子总数为:"+all);
    }   
}
public class Mai {
    public static void main(String args[]){
        Maizi king=new Maizi(64,1);//更改参数第一个是(格子的总数,第一次放的量)
        king.dgsum();
        
    }
   
}
结果
程序代码:
第1格有种子:1.0
第2格有种子:2.0
第3格有种子:4.0
第4格有种子:8.0
第5格有种子:16.0
第6格有种子:32.0
第7格有种子:64.0
第8格有种子:128.0
第9格有种子:256.0
第10格有种子:512.0
第11格有种子:1024.0
第12格有种子:2048.0
第13格有种子:4096.0
第14格有种子:8192.0
第15格有种子:16384.0
第16格有种子:32768.0
第17格有种子:65536.0
第18格有种子:131072.0
第19格有种子:262144.0
第20格有种子:524288.0
第21格有种子:1048576.0
第22格有种子:2097152.0
第23格有种子:4194304.0
第24格有种子:8388608.0
第25格有种子:1.6777216E7
第26格有种子:3.3554432E7
第27格有种子:6.7108864E7
第28格有种子:1.34217728E8
第29格有种子:2.68435456E8
第30格有种子:5.36870912E8
第31格有种子:1.073741824E9
第32格有种子:2.147483648E9
第33格有种子:4.294967296E9
第34格有种子:8.589934592E9
第35格有种子:1.7179869184E10
第36格有种子:3.4359738368E10
第37格有种子:6.8719476736E10
第38格有种子:1.37438953472E11
第39格有种子:2.74877906944E11
第40格有种子:5.49755813888E11
第41格有种子:1.099511627776E12
第42格有种子:2.199023255552E12
第43格有种子:4.398046511104E12
第44格有种子:8.796093022208E12
第45格有种子:1.7592186044416E13
第46格有种子:3.5184372088832E13
第47格有种子:7.0368744177664E13
第48格有种子:1.40737488355328E14
第49格有种子:2.81474976710656E14
第50格有种子:5.62949953421312E14
第51格有种子:1.125899906842624E15
第52格有种子:2.251799813685248E15
第53格有种子:4.503599627370496E15
第54格有种子:9.007199254740992E15
第55格有种子:1.8014398509481984E16
第56格有种子:3.6028797018963968E16
第57格有种子:7.2057594037927936E16
第58格有种子:1.44115188075855872E17
第59格有种子:2.8823037615171174E17
第60格有种子:5.7646075230342349E17
第61格有种子:1.15292150460684698E18
第62格有种子:2.305843009213694E18
第63格有种子:4.6116860184273879E18
第64格有种子:9.223372036854776E18
种子总数为:1.8446744073709552E19



----------------解决方案--------------------------------------------------------
以下是引用Bosen在2009-12-26 15:20:07的发言:

class Maizi{
    double gezi;
    double shoufang;
    double all;
    Maizi(int a,int b){
        gezi=a;
        shoufang=b;
        all=shoufang;
    }
    void dgsum(){
        double sum=shoufang ...
Good job!
Thank you!
美中不足的是,double不够long精确

[ 本帖最后由 lampeter123 于 2009-12-26 17:31 编辑 ]
----------------解决方案--------------------------------------------------------
正确答案如下

square 1 : 1 grain
square 2 : 2 grains
square 3 : 4 grains
square 4 : 8 grains
square 5 : 16 grains
square 6 : 32 grains
square 7 : 64 grains
square 8 : 128 grains
square 9 : 256 grains
square 10 : 512 grains
square 11 : 1024 grains
square 12 : 2048 grains
square 13 : 4096 grains
square 14 : 8192 grains
square 15 : 16384 grains
square 16 : 32768 grains
square 17 : 65536 grains
square 18 : 131072 grains
square 19 : 262144 grains
square 20 : 524288 grains
square 21 : 1048576 grains
square 22 : 2097152 grains
square 23 : 4194304 grains
square 24 : 8388608 grains
square 25 : 16777216 grains
square 26 : 33554432 grains
square 27 : 67108864 grains
square 28 : 134217728 grains
square 29 : 268435456 grains
square 30 : 536870912 grains
square 31 : 1073741824 grains
square 32 : 2147483648 grains
square 33 : 4294967296 grains
square 34 : 8589934592 grains
square 35 : 17179869184 grains
square 36 : 34359738368 grains
square 37 : 68719476736 grains
square 38 : 137438953472 grains
square 39 : 274877906944 grains
square 40 : 549755813888 grains
square 41 : 1099511627776 grains
square 42 : 2199023255552 grains
square 43 : 4398046511104 grains
square 44 : 8796093022208 grains
square 45 : 17592186044416 grains
square 46 : 35184372088832 grains
square 47 : 70368744177664 grains
square 48 : 140737488355328 grains
square 49 : 281474976710656 grains
square 50 : 562949953421312 grains
square 51 : 1125899906842624 grains
square 52 : 2251799813685248 grains
square 53 : 4503599627370496 grains
square 54 : 9007199254740992 grains
square 55 : 18014398509481984 grains
square 56 : 36028797018963968 grains
square 57 : 72057594037927936 grains
square 58 : 144115188075855872 grains
square 59 : 288230376151711744 grains
square 60 : 576460752303423488 grains
square 61 : 1152921504606846976 grains
square 62 : 2305843009213693952 grains
square 63 : 4611686018427387904 grains
square 64 : 9223372036854775808 grains
all is 18446744073709551614 grains


[ 本帖最后由 lampeter123 于 2009-12-26 17:34 编辑 ]
----------------解决方案--------------------------------------------------------
呵呵~没有按照客户要求执行,谢谢提醒!

----------------解决方案--------------------------------------------------------
  相关解决方案