编程的出现,使得以前看起来不太可能实现的计算变得无比简单,比如等差数列的求和,从1加到100,如果一个一个地加,确实很麻烦,于是10岁的高斯提出了一个巧妙地算法:100乘以101除以2=5050。人脑觉得费时且麻烦的计算,在电脑看来,也就一刹那的事,像这样的连加,Scratch也可以做到:
详情可参考:Scratch 2.0 使用教程之5——等差数列求和。
下面我们再来看两个题目,用编程Java来比拼人脑和电脑。
A.第一个题目是这样的:
全体正偶数排列成如下三角形数阵,那么第25行第20个数字是多少呢?
这是一个找规律题,人脑的解法:
如果用n表示第n行,则第n行的第一个数字可以算出是(n*n-n+2),
则第25行的第一个数字是25X25-25+2=602=600+2X1,
第20个数字是600+2X20=640.
电脑的算法,我们用Java来实现,程序如下:
运行输出如下:
原谅屏幕太小,一行显示不全,可以从上图中看到第25行的所有数字,数出第20个也是640.
B.数阵如下:
按相同的规律,-101在第几列?
这个规律不难寻找:101除以4=25余1,则-101在第26行的右边数第一个,即在第四列。
Java可以编程如下:
运行的结果:
也可以像这样把所有数字打印出来:
运行结果:
也可以看出-101在第四列。
大家可以体会到人脑和电脑的优缺点了吗?最后留个小作业,看能不能编出如下的数阵:
如果喜欢的话请点击右下角的“赞" 和“在看”,欢迎关注本人的公众号:迷你恐龙的博客
领取专属 10元无门槛券
私享最新 技术干货