坟贴
本帖最后由 竹逸 于 2022-11-20 17:57 编辑rt 我是做不出来看了答案后,不太理解就修改了下,觉得自己修改后更加容易理解,是我的错觉吗,为什么理解不了小甲鱼老师else语句里的意思{:10_266:} 你的和答案里面的都没有问题,
不过你的多了一步没必要的,就是 steps = 0 的情况,
因为每步上7阶一阶不剩,所以阶梯数肯定是 7 的倍数,而且肯定不是 0,
所以答案里面 一开始就令 steps = 7,除 0 倍外,7的最小倍,然后 i 表示 7 的多少倍,
就是当阶梯数不满足条件就对阶梯数加倍 steps = 7 * (i + 1),用于下一次循环的判断 isdkz 发表于 2022-3-11 16:15
你的和答案里面的都没有问题,
不过你的多了一步没必要的,就是 steps = 0 的情况,
既然是加倍,那为啥是 7* (i + 1) ,不应该是7 * i 吗?就是这里搞不懂{:5_104:} 竹逸 发表于 2022-3-11 16:33
既然是加倍,那为啥是 7* (i + 1) ,不应该是7 * i 吗?就是这里搞不懂
答案的初始值就是 7 的 1 倍呀,i 的初始值就是 1,加倍就是 i + 1,
而你的给 steps 赋值为 0 是没有必要的,因为 steps 肯定不为 7 的 0 倍 本帖最后由 竹逸 于 2022-3-11 17:04 编辑
isdkz 发表于 2022-3-11 16:43
答案的初始值就是 7 的 1 倍呀,i 的初始值就是 1,加倍就是 i + 1,
而你的给 steps 赋值为 0 是没 ...
哦,懂了,谢谢老师{:5_106:},后面的+1是为了当条件不满足时,提前加1倍用于下一次循环的计算,是这个意思吧 竹逸 发表于 2022-3-11 17:01
哦,懂了,谢谢老师,后面的+1是为了当条件不满足时,提前加1倍用于下一次循环的计算,是这个 ...
对的,答案的放在 else 里面是得到了一个满足条件后就不再加倍来判断了,
所以答案得到最小的满足条件的阶梯数,
而你的放在 else 里面就会一直加倍用于下一次判断,但是你并没有把每次满足条件的结果存起来,
所以你的是得到的最大的满足条件的阶梯数 isdkz 发表于 2022-3-11 17:06
对的,答案的放在 else 里面是得到了一个满足条件后就不再加倍来判断了,
所以答案得到最小的满足条件 ...
嗯呢嗯呢
页:
[1]