主题:[讨论]找人帮忙看看哪里错了?
我做一位同学说的那个爬楼梯的问题
一次可以上一梯或2梯的
不知道哪里错了
老是出现 OVERFLOW
INPUT k
LET s = 0
LET m = 1
LET l = 1
LET r = 1
LET t = 1
IF k <= 0 THEN PRINT "I'm sorry ,I can't do it like that!" ELSE
IF k MOD 2 = 0 THEN GOTO pat1 ELSE GOTO pat2
pat1: LET min = k / 2
LET max = k
LET a = min
GOTO pat4
pat2: LET min = (a + 1) / 2
LET max = k
LET a = min
GOTO pat4
pat4: WHILE a <= max
LET q = (a - 10) * 2
DO
m = m * q
q = q + 2
IF q > a THEN EXIT DO
LOOP
DO
l = l * r
r = r + 2
IF r = q THEN EXIT DO
LOOP
LET u = m / l
s = s + u
a = a + 1
WEND
PRINT s
一次可以上一梯或2梯的
不知道哪里错了
老是出现 OVERFLOW
INPUT k
LET s = 0
LET m = 1
LET l = 1
LET r = 1
LET t = 1
IF k <= 0 THEN PRINT "I'm sorry ,I can't do it like that!" ELSE
IF k MOD 2 = 0 THEN GOTO pat1 ELSE GOTO pat2
pat1: LET min = k / 2
LET max = k
LET a = min
GOTO pat4
pat2: LET min = (a + 1) / 2
LET max = k
LET a = min
GOTO pat4
pat4: WHILE a <= max
LET q = (a - 10) * 2
DO
m = m * q
q = q + 2
IF q > a THEN EXIT DO
LOOP
DO
l = l * r
r = r + 2
IF r = q THEN EXIT DO
LOOP
LET u = m / l
s = s + u
a = a + 1
WEND
PRINT s