前言:
眼前姐妹们对“迭代算法步骤”大约比较着重,你们都需要剖析一些“迭代算法步骤”的相关内容。那么小编同时在网络上网罗了一些对于“迭代算法步骤””的相关知识,希望各位老铁们能喜欢,小伙伴们快快来了解一下吧!Excel写公式引用单元格的位置时,一般是不允许自己引用自己的,这会让Excel直接报错,比如我们在位置A1输入一个公式=A1*10,它会跳出警告
但是,有一种设置下,是可以做自身引用的,那就是迭代
设置位置在这里:左上角Office按钮 --> Excel选项 --> 公式 --> 计算选项 --> 启用迭代计算处打勾 --> 设置最多迭代次数(默认值100,这里我先改成了3次)
这里我们还是使用上面提到的公式A1=A1*10,得到的结果是零,看起来好像没什么变化,只是不跳出警告了
但是想下其中的道理好像也没错,因为我们的A1没有设初始值,而Excel空白的格子默认是0,这乘别的数再多次也是0
那如果我们给A1一个初始值呢?比如说把公式改成这样:
A1 = IF(A1=0,1,A1*10)
然后,我们回车看到计算结果,是100
为什么呢,因为这里我们设置了迭代3次,计算顺序就成了这样:
第一次:由IF条件判断出A1=0,所以结果输出A1=1
第二次:由IF条件判断出A1不等于0,所以输出A1=1*10=10
第三次:IF判断A1不等于0,输出A1=10*10=100
那你也许会想,这个设置看着是挺神奇的,但有什么用处呢?
嗯。。。。。。从昨天下午到今天中午连嗑了10集生哥正在闹失心疯的本人一开始也没琢磨出来这玩意儿能干嘛,结果刚刚写到这里的时候灵光一现,想到了一个例子
看过电视节目里猜价格的那种游戏嘛?就是给你件东西,你按照自己的经验猜几次价格,每次猜的时候主持人都会告诉你高了还是低了,限定次数里猜出来正确价格奖品就归你了的那种游戏
我们可以模拟那个游戏规则来做一版玩玩,假设我们现在竞猜的这个东西是个电动牙刷,正确价格是节目设定好的,我们现在并不知道
而当我们看到这个东西时,一般来说,首先会有个第一印象,觉得它的价格范围肯定在某个区间里才不至于太离谱,这里我猜测这个牙刷最高应该不超过300块钱(此处单位人民币)
节目主持在听到我们报的价格时,他的回答基本就以下三种情况:
这时我们猜价格可以采用一种二分法的策略,就是我们叫价时设定一个间隔大小,当主持人给我们的回答来判断方向,如果方向没变(比如上次说高了这次还是高了),那间隔大小不变,如果方向变了,那间隔大小减一半,当价格猜对时,变化间隔调整到0
这里为了简化计算,我们假设最终的价格是个整数,所以每次间隔变化时都向上取整,避免算出小数点来(由于CEILING有正负号要求,这里用了ROUNDUP),做出的公式大概是这样(这版还没设迭代计算):
然后,我们慢慢增加迭代次数,看下计算的情况:
第一次计算:
迭代2次时:
迭代5次时:
迭代到9次:
Bingo,答对了,正确答案240 RMB,完成撒花~~~~~
呼~~~好险好险,今天差点把自己绕懵了~~~