|
发表于 2008-9-28 15:07:00
|
显示全部楼层
Re:策划题,请高手帮忙解答
现在根据4楼的给出MATLAB 的通用计算方法,
%升级宝石的数量计算
clear
geti=input('请输入装备要升的等级:');
nember=input('请输入装备升一级的宝石数:');
load('d:\work\date.txt'); %载入装备升级的概率
probability=1;
for i=1:geti,
probability=date(i,2)*probability;%一次升级成功的概率
end
degree=1/probability; %计算一次性升级成功的轮数
b=zeros(1,(geti+1));%用来保存每一轮失败损耗的宝石
%计算在每个等级失败时损耗的宝石
%fprob=1;
for i=1:geti,
fprob=1;
if i==1,
b(i)=degree*(1-date(i,2))*nember
else
for h=1 i-1)
fprob=fprob*date(h,2);
end
b(i)=degree*fprob*(1-date(i,2))*nember*i;
end
end
b(geti+1)=nember*geti;
c=sum(b) %升级所要的宝石的和
date.txt的格式如下
1 1
2 1
3 1
4 1
5 0.9
6 0.8
7 0.7
8 0.6
9 0.5
10 0.4
11 0.35
12 0.3
左边是等级,左边是升级概率.只要把文件名和路径改成自己的就可以运行了.
|
|