基础编程 6

2020-04-29  本文已影响0人  RealAnalysis

Question 11

又是一个十多分钟搞定的问题,教程编写思路真的很赞,一下子引导你领悟很多

最想提醒自己的是

i+=1 就是 i = i +1的意思哦~ 往下一个数值继续测试下去的意思~

我尝试的第一版长这样

尝试另一个写法

如果这样写,逻辑就有问题了,即只有整除数的情况下才加一往下继续测试跑数
这样的逻辑写法就会卡着咯 等了几分钟还是完全不运行

你想啊 第一个测试的数值是 1结果就不满足if的条件,就无法执行 i += 1就卡着不执行了吖

Question 12

预想的代码写法几乎考虑到 唯一漏掉 total = 0这个想法...嗯 有趣 为啥一开始要设置成 0 这个数值呢?也是为了展现它的变化吗?

啊!!!难道是为了不让负数的偶数相加?!

不对呀...i已经设定为从 1开始 并且设定小于 100了所以不会出现负数吖?

想不通,那么就去掉这条件看看结果会如何

删掉 total = 0 运行看看

噢哟 报错了耶

我估计还是要给total一个定义范围所以才加这行的?

好奇啊! 就改成其他数值看看

结果哈哈哈哈

跟我猜测的负数没啥关系 仅仅是个起始数值的设定而已啊哈哈哈

很重要很重要,清零的起始数值才能完全体现i本身的偶数们哈哈哈!

Question 13

提示的代码跟我一开始思考的差不多,就是没有想到居然是个多层嵌套的while...

我一开始以为这样

结果一执行 发现问题

不是题目要求的啊 少了好多项 果然嵌套的while条件是有用的!

逻辑有点难梳理,就想偷懒 写成如下样子

自以为能搞定 结果一看...最后那一下绝对有问题

然后还是偷懒的贼心不死...

被无限执行到傻眼...

推测无限执行是因为我定义了 a = i + 1按照执行顺序就一直符合while的条件 a.to_i <= n.to_i 因为执行先后顺序的关系 a一直被认为是 1 导致永远小于 n, 就一直无限执行了

再改!

我真实懒到没救 数学系真实本命属性了

别挣扎了 老老实实用嵌套的while条件写吧...

再改了一点


说实话,这样改其实只是为了搭配答案,没有真的体现出 ifwhile 的区别吧...算硬改的...

Question 14

感觉教程的提示出错了,应该是“从1到N-1”吧,不可能是 N/2 这个数绝对能整除于 N的哈哈哈 估计是笔误吧?

比想象的复杂啊,这样写无法正常判断...

有意思 不过这是我乱尝试出来的 估计还要更好的写法 可以继续思考

Question 15

原来生成随机数的代码是 rand() 啊~

比如 rand(100)就是100中挑一个随机数生成哈哈哈

嗯,其实感觉能用 if elsif else这三个条件把三个判断条件整合在一起 这样代码看起来更顺畅...

上一篇下一篇

猜你喜欢

热点阅读