四位完全平方数的代码为什么要从30开始循环?

img


四位完全平方数的代码为什么要从30开始循环?如果是四位数,不应该从32开始吗?3131=961,3030=900,32*32=1024

你所说的30和32都是自己粗略判断后人为取得开始数字而已,对于计算机来说并没有什么区别。我们之所以取一个初始值只是为了节省时间。那么对于计算机,你只需要将判断条件都整明白,你即使从1开始也是可以的吧。那么这就涉及到人/机综合效率问题了吧。
为了节省时间我们设定一个初始值。那么这个值怎么得到?人为去粗略计算一下咯,大致就是30了,如果自己非要精确计算得到32,不也是浪费个人时间呀。写程序的初衷是否达到了呢?
不知道到我有没有讲清楚,程序中设置的30初值可以,自己设置32也是可以的,并不用特别区纠结于这一个点。毕竟为了解决问题,只要满足条件计算机多循环两次消耗时间并不大。

扣细的话,是应该32开始。可能就是省事吧

一旦给的范围过大,这样的预判可以减小时间复杂度

如果你见到什么代码是基于bug跑起来的,一点都不要奇怪
代码的第一性原理就是要解决问题,什么优雅不优雅的,也只是为了解决阅读代码困难的问题,写的优雅有助于阅读罢了
如果硬扣运行次数,从32开始肯定是次数最少的,但是30也可以运行
而如果从1开始显然就会出问题,因为2位数的话c和d都是0,也满足条件
总之不同的代码尽管逻辑不太一样,只要最终目的实现了就行了