有一题请大家做答,欢迎进来(有源码)。
题目:有硬币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
问题点数:0、回复次数:13Top
1 楼flyhot(阳光清晨)回复于 2003-11-03 12:11:30 得分 0
upTop
2 楼qqjj7758(QQJJ)回复于 2003-11-03 12:19:00 得分 0
我吃饭去了
等会过来 看看
帮你顶Top
3 楼workhand(我可憨了...)回复于 2003-11-03 12:21:24 得分 0
呵呵,我想想Top
4 楼klbt(快乐白兔)回复于 2003-11-03 12:32:35 得分 0
我作了一个试验,发现规律:
枚数:1、2、3、4 ...
次数:2、6、10、14 ...
猜想:M枚硬币共需要移动 4M-2 次。Top
5 楼zhangdatou(猪头)回复于 2003-11-03 12:38:02 得分 0
去吃饭Top
6 楼jiangjildy(牛晤草)回复于 2003-11-03 12:56:55 得分 0
玩什么呢?Top
7 楼jdsnhan(柳荫凉)回复于 2003-11-03 13:03:43 得分 0
有意思。测试如下
枚数:1、2、3、4 5、...
次数:2、3、9、11、24 ...
猜想,6 35,7 48,但有疑惑,感觉不对。Top
8 楼snowarea(PB男孩)回复于 2003-11-03 17:14:44 得分 0
jdsnhan(柳荫凉)
你看这题怎么做呢?
各位程序员兄弟们,帮忙解决一下了。Top
9 楼dingzhaofeng(Alading)回复于 2003-11-03 21:32:45 得分 0
why?Top
10 楼jdsnhan(柳荫凉)回复于 2003-11-04 15:39:25 得分 0
继续猜想:m>=5 f(m) = m^2 - 1但小于5的时候,不好写。
Top
11 楼snowarea(PB男孩)回复于 2003-11-04 16:14:01 得分 0
看该题源码可以猜想,该题应分单数跟双数来考虑。当为双数时值为I*M-1当为单数时我就不知规律了。所以倒数第二空应填t=0,最后一空应该在i没有达到一定值时就不让它等于1和0,所以该空的t值与m和i有关。但我不知怎么填。Top
12 楼snowarea(PB男孩)回复于 2003-11-05 10:56:29 得分 0
没人回答吗Top
13 楼snowarea(PB男孩)回复于 2003-11-10 16:31:53 得分 0
我想第二空填t=0,最后一空应填t=m-(i+1)
但不知第一空那个规律应填什么。Top




