有一题请大家做答,欢迎进来(有源码)。
题目:有硬币M枚,每一枚都是正面朝上,取下最上面的一枚硬币,将它翻面后放回原处。然后取下最上面的2枚硬币,将他们一起翻面后再放回原处。再取3枚,取4枚......直到M枚。然后再从这摞硬币最上面的一枚开始,重复刚才的做法。这样一直做下去,直到这摞硬币中的每一枚又都是正面朝上为止。例如,M为1时,翻2次即可。M为30时翻899次。
输入:仅有的一个数字 是这摞硬币的枚数M,0<M<1000。
输出:为了使这摞硬币中的每一枚又都是正面朝上所必需翻的次数。
大家能否做答!!!!!!!!!1
程序填空:(qbasic源码)
declare function solve(m)
dim m,n as integer
input m
if m>0 and m<1000 then
n=solve(m)
print n
end if
end
function solve(m)
dim i,t,d as integer
if m=1 then solve=2
else
d=2*m+1
t=2
i=1
DO
IF t=1 then
solve=此处请填空
exit DO
END IF
IF 此条件填空 then
solve=i*m-1
exit DO
END IF
t=此处请填空
i=i+1
LOOP
END IF
END FUNCTION