求助高手~!!VB do while 国际象棋棋盘上的麦粒程序!!

高分请说下,求助高手~!!VB do while 国际象棋棋盘上的麦粒程序!!?

国际象棋盘上的麦粒
在印度有一个古老的传说:舍汗王打算奖赏国际象棋的发明人——宰相西萨班达依尔。国王问他想要什么。他对国王说:“陛下,请您在这张棋盘(见图1)的第1个格子,赏给我1粒麦子,在第2个小格子里给2粒,第3小格里给4粒,以后每一小格都比前一小格多1倍。请您将这样摆满棋盘上所有64格的麦粒,都赏给您的仆人吧!”国王觉得这个要求太容易满足了,就命令给他这些麦粒。当人们把一袋一袋麦子搬来开始数时,国王才发现:就是把全印度甚至全世界的麦粒都拿来,也满足不了那位宰相的要求。
那么,宰相要求得到的麦粒到底有多少呢?
方法一:
Private Sub Command1_Click()
Dim n As Integer, I As Integer, p As double, s as double
N=64
S=0
P=1
For i=_________ to n
S=______________
P=______________
Next i
Label1.Caption=”麦粒的数量是”+ str(s)
End Sub

方法二:
Private Sub Command1_Click()
Dim n As Integer, I As Integer, p As double, s as double
N=64
S=0
P=1
________
Do while i<n
S=______________
P=______________
I=_____________
loop
Label1.Caption=”麦粒的数量是”+ str(s)
End Sub

问题:假如每粒麦子的重量是0.2克,每人每天消耗0.5千克,那么棋盘上的麦粒能供全球60亿人吃多少年?
最新回答
vigilia°宝瓜

2024-09-15 12:56:37

For I = 1 To n
s = s + p
p = 2 ^ I
Next I

I = 1
Do While I <= n '这里应该是小于等于N 不是小于N
s = s + p
p = 2 ^ I
I = I + 1
Loop

吃多少年的问题: s * 0.2 / (500 * 6000000000# * 365)
结果为 3369.27年
盼盼小面包

2024-09-15 09:26:36

For I = 1 To n
s = s + p
p = 2 ^ I
Next I

I = 1
Do While I <= n '这里应该是小于等于N 不是小于N
s = s + p
p = 2 ^ I
I = I + 1
Loop

s * 0.2 / (500 * 6000000000# * 365)
结果为 3369.27年
江湖正好

2024-09-15 04:34:07

For
I
=
1
To
n
s
=
s
+
p
p
=
2
^
I
Next
I
I
=
1
Do
While
I
<=
n
'这里应该是小于等于N
不是小于N
s
=
s
+
p
p
=
2
^
I
I
=
I
+
1
Loop
吃多少年的问题:
s
*
0.2
/
(500
*
6000000000#
*
365)
结果为
3369.27年