有一题请大家做答,欢迎进来(有源码)。

snowarea 2003-11-03 09:56:01
题目:有硬币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
...全文
58 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
snowarea 2003-11-10
  • 打赏
  • 举报
回复
我想第二空填t=0,最后一空应填t=m-(i+1)
但不知第一空那个规律应填什么。
snowarea 2003-11-05
  • 打赏
  • 举报
回复
没人回答吗
snowarea 2003-11-04
  • 打赏
  • 举报
回复
看该题源码可以猜想,该题应分单数跟双数来考虑。当为双数时值为I*M-1当为单数时我就不知规律了。所以倒数第二空应填t=0,最后一空应该在i没有达到一定值时就不让它等于1和0,所以该空的t值与m和i有关。但我不知怎么填。
jdsnhan 2003-11-04
  • 打赏
  • 举报
回复
继续猜想:m>=5 f(m) = m^2 - 1但小于5的时候,不好写。
jiangjildy 2003-11-03
  • 打赏
  • 举报
回复
玩什么呢?
zhangdatou 2003-11-03
  • 打赏
  • 举报
回复
去吃饭
klbt 2003-11-03
  • 打赏
  • 举报
回复
我作了一个试验,发现规律:
枚数:1、2、3、4 ...
次数:2、6、10、14 ...

猜想:M枚硬币共需要移动 4M-2 次。
workhand 2003-11-03
  • 打赏
  • 举报
回复
呵呵,我想想
qqjj7758 2003-11-03
  • 打赏
  • 举报
回复
我吃饭去了
等会过来 看看
帮你顶
flyhot 2003-11-03
  • 打赏
  • 举报
回复
up
dingzhaofeng 2003-11-03
  • 打赏
  • 举报
回复
why?
snowarea 2003-11-03
  • 打赏
  • 举报
回复
jdsnhan(柳荫凉)
你看这题怎么做呢?
各位程序员兄弟们,帮忙解决一下了。
jdsnhan 2003-11-03
  • 打赏
  • 举报
回复
有意思。测试如下
枚数:1、2、3、4 5、...
次数:2、3、9、11、24 ...
猜想,6 35,7 48,但有疑惑,感觉不对。

1,108

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧