Simulation matlab code: findfloor function


所有跟贴·加跟贴·新语丝读书论坛

送交者: forfun 于 2009-06-03, 14:52:32:

回答: Dear forfun, could you please give me your code? thanks in advance 由 blobfish 于 2009-06-03, 14:42:40:

function [match, floor, maxfloor] = findfoor(totalfloor, skipfloor)
% match : 1 - got the right diamond
% 0 - otherwise
% floor : the floor number that a diamond is picked
% maxfloor : the floor number where the largest dimond is on.

if totalfloor <= skipfloor
display('Wrong floor numbers!')
return;
end
diamond = rand(totalfloor,1);
maxdimond = 0;
maxfloor = 0;
for i = 1:totalfloor
if diamond(i) > maxdimond
maxdimond = diamond(i);
maxfloor = i;
end
end

selected = 0;
for i = 1:skipfloor
if diamond(i) > selected
selected = diamond(i);
end
end
floor = 0;
for i = skipfloor+1:totalfloor
if diamond(i) > selected
selected = diamond(i);
floor = i;
break;
end
end
if floor == 0
floor = totalfloor;
end

match = 0;
if floor == maxfloor
match = 1;
end
end




所有跟贴:


加跟贴

笔名: 密码: 注册笔名请按这里

标题:

内容: (BBCode使用说明