数学老师:所有男同学,计算到1叠加求和,算不出的,放学留下!班上的数学代表都急哭了!学霸难题,菜鸟程序员却能15秒轻松完成计算。
图A不能回家了
网友分享——算不出来的简单数学题:记得上初一的时候,有次数学课上,老师检查课后作业,竟没有一个男同学完成的。这不是能力问题,而是裸的态度问题!数学老师并没有发火,而是照常上课,继续讲解新的内容。当快要下课的时候,那节课刚好是上午最后一节课,依旧布置作业,但是,与之前所学的知识好像没有半点关系,又好像很简单,但是,几乎没有人能算出来。
图B算出来啦
那道数学作业题,永远不会忘记。那就是,从到1的累加求和。通俗易懂的表达式:+99+98+97+96+95+。。。+3+2+1=?难吗?不难,理论上,小学生都能算出来;容易吗?不容易,放学20分钟后,都没人能算出来,数学代表都急哭了。毕竟高斯只有一个,况且还不在中国。菜鸟程序员却能轻松完成计算,而且采用3种不同的循环方式。
图Cfor循环
1、for循环:菜鸟程序员,寥寥几行代码,轻松解决学霸难题。本文中所用到的代码,均是javascript编程语言。如图C代码,利用for循环,重复的执行代码块,每执行一次,就在原来的计算结果上加1。直到执行到第一百次,完成计算。对于人来说,这种算法比等差数列低级低效多了,但是,对于计算机,却能很快计算出结果。程序编程,讲究的是逻辑,而不是高强度的计算。
图Dwhile循环
2、while循环:如图D代码示例,利用while循环计算到1的累加求和。过程,定义函数add_while(),定义变量add_sum,i并初始化变量。当i大于或等于1时,执行代码块add_sum=add_sum+i;i--;代码实现功能,每执行一次,add_sum加1,i减1,当i减到0时,终止循环,returnadd_sum;返回add_sum的累加值。console.log(add_while());在控制台输出计算结果。
图Edo-while循环
3、do-while循环:如图E代码,此循环的特别之处,就是先执行,后判断。不管条件是否成立,先执行一次循环体,然后对条件进行判断。所以,add_sum=add_sum+i;i--;这代码块总会执行一次的。
倘若是你碰到这种数学题,不用等差公式,你会怎么算呢?若作为程序员,你认为有什么更好的算法进行高效的计算呢?
喜欢文章,点赞哦。上学时,你碰到过什么另类的趣事吗?欢迎评论区分享。