永发信息网

Pascal 印度国王的棋盘

答案:2  悬赏:0  手机版
解决时间 2021-02-16 05:50
传说在很久以前,印度有个叫塞萨的人,为了能使国王忘掉战争,精心设计了一种游戏(国际象棋)献给国王。国王对这种游戏非常满意,决定赏赐塞萨。国王问塞萨需要什么,塞萨指着象棋盘上的小格子说:“就按照棋盘上的格子数,在第一个小格内赏我1粒麦子,在第二个小格内赏我2粒麦子,第三个小格内赏4粒,照此下去,每一个小格内的麦子都比前一个小格内的麦子加一倍。陛下,把这样摆满棋盘所有64格的麦粒,都赏给我吧。”国王听后不加思索就满口答应了塞萨的要求。但是经过大臣们计算发现,就是把全国一年收获的小麦都给塞萨,也远远不够。国王这才明白,塞萨要的,是国王放弃战争,发展生产,改善人民生活。现在我们把棋盘稍微扩大一下,变成100个格子,请你编程计算从第K格至第M格共有多少粒麦粒,由于答案很大,为了方便起见,你只要求出最后的3位数字就可以了

输入
输入数据仅有一行包含两个用空格隔开的正整数K和M,其中4 ≤ K<M ≤100。

输出
输出数据仅有一行包含一个整数表示共有多少粒麦粒,只要求输出最后的3位数字。

样例输入
4 10

样例输出
016
最佳答案
完成要求的程序如下:
var k,m,i,t,s:integer;
begin
t:=1; readln(k,m);
for i:=2 to k-1 do
t:=2*t mod 1000;
for i:=k to m do
begin
t:=t+t;
s:=(s+t)mod 1000;
end;
if s<100 then write(0);
if s<10 then write(0);
writeln(s);
end.
全部回答
你把所有的数先计算好现放到数组中,但是2^100远远超过了longint所能存放的最大值。 这个程序是否计算m..n格子中所有麦粒总和的最后三位数?如果是的话,修改后的程序如下: var a,i,n,m,h:integer; begin readln(m,n); a:=1; for i:=2 to m-1 do a:=a*2 mod 1000; for i:=m to n do begin h:=(h+a) mod 1000; a:=a*2 mod 1000; end; writeln(h); end.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
手机139邮箱怎么退?是那个5元包月的套餐,用
南岗区哈尔滨Timao Coffee爱沫咖啡这个地址在
内屯这个地址在什么地方,我要处理点事
金立天鉴W909和三星W2017有什么区别
克山县齐齐哈尔合信电脑家电维修地址是什么,
宝洁公司同时生产9种品牌的洗衣粉,此决策是(
南国路怎么去啊,有知道地址的么
判断钟乳石和生石花是生物吗?说出你的依据。
江夏区武汉乐购生活超市在哪里啊,我有事要去
谁知道女变男的那部电视剧是什么
玉林中燃城市燃气发展有限公司在什么地方啊,
今天买的红茶茶叶是金色的不知道叫什么名字了
问道用什么手机挂机好呢
新疆大学法律硕士专业历年报考人数
【自视甚高】“自视甚高”是什么意思?可以用
推荐资讯
87年农历7月27日生的,属兔的是什么命
本人去了厦门理工学院,但是后悔了,感觉学校
EXCEL合计公式
春节初3去海螺沟,求教下经费需要花多少。!
北京地铁的一卡通非要退吗?可以不退吗,直接
怎样快速的画一张元素周期表?
根据《证券法》的规定,下列行为中,属于欺诈
2010年10月1日下午18时59分57秒,中国探月二
【野火烧不尽作者】野火烧不尽是哪首诗中的句
塑料分什么材质
钱牌楼我想知道这个在什么地方
【森林防火的作文】森林防火的作文不要童话的
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?