主题:[讨论]求某题答案
hujian96
[专家分:0] 发布于 2007-08-05 14:06:00
题目为:
小王买了N瓶汽水,喝完后用两个空瓶可以换回一瓶汽水,喝完又可以继续换,问小王最终一共可喝到几瓶汽水?(单个空瓶不能换半瓶汽水,N需用INPUT输入)
回复列表 (共7个回复)
沙发
yaoyusheng [专家分:460] 发布于 2007-08-05 17:51:00
用递推法:
input "n=";n
s = n
While n > 1
If n Mod 2 = 0 Then
n = n / 2
s = s + n
Else
n = Int(n / 2)
s = s + n
n = n + 1
End If
Wend
Print s
end
经测试,正确.--------------- 一楼
板凳
剑圣风暴 [专家分:450] 发布于 2007-08-05 17:52:00
cls
input n
s=n
do
t=t+1
y=n mod 2
if t<>1 and y=1 then n=n+1
n=n\2
s=s+n
loop until n=0 or n=1
print s
end
3 楼
moz [专家分:37620] 发布于 2007-08-05 18:05:00
do while N>1
S=S+int(N/2)
N=int(N/2)+(N mod 2)
loop
4 楼
wzc1996 [专家分:1680] 发布于 2007-08-05 19:38:00
CLS
INPUT n
x = n
DO
s = s + INT(n / 2)
n = INT(n / 2) + (n MOD 2)
LOOP UNTIL n = 1
PRINT s + x
5 楼
小精灵1号 [专家分:1040] 发布于 2007-09-29 14:10:00
CLS
INPUT N
FOR I=1 TO N
S=S+1
IF S MOD 2=0 THEN X=X+1
NEXT I
PRINT S+X
END
6 楼
Lovely哆啦 [专家分:1360] 发布于 2007-09-30 21:32:00
5楼的程序有错!
7 楼
Lovely哆啦 [专家分:1360] 发布于 2007-09-30 21:49:00
CLS
INPUT N
S = N
DO
DO WHILE N > 1
N = N - 2
X = X + 1
LOOP
S = S + X: N = N + X: X = 0
LOOP UNTIL N < 2
PRINT S
END
我来回复