了解减肥现状

来自计算思维百科
跳转至: 导航搜索
了解减肥现状1.jpg

胖胖一直在努力减肥,根据自己记录的近8个月的体重,发现自己瘦了。下面是胖胖每个每个月的体重,为了更好地了解自己减肥的情况,胖胖想计算出体重记录的每3个月移动平均,你能帮帮她吗?每3个月移动平均体重指的是,在胖胖给的8个月的体重记录表中,第1,2,3月的平均是第一个平均体重,第2,3,4月的平均是第二个平均体重。

月份

体重(kg

80

77

75

72

70

66

63

60

解决方案

方案一:蛮力法

蛮力法计算体重的每3个月移动平均数就是从第3个月开始的每个月,求前3个月的平均数,步骤如下:

一、二、三月移动平均:(80+77+75)÷3=77.3

了解减肥现状2.png

二、三、四月移动平均:(77+75+72)÷3=74.7

了解减肥现状3.png

三、四、五月移动平均:(75+72+70)÷3=72.3

了解减肥现状4.png

四、五、六月移动平均:(72+70+66)÷3=69.3

了解减肥现状5.png

五、六、七月移动平均:(70+66+63)÷3=66.3

了解减肥现状6.png

六、七、八月移动平均:(66+63+60)÷3=63

了解减肥现状7.png

这样我们就把体重每3个月的移动平均数求出来了。

三月中最后一个月

移动平均(kg

77.3

74.7

72.3

69.3

66.3

63

运用的计算思维

这种直接计算每三个月的平均数运用的是蛮力法,体现机械化的计算思维。

方案二:间接法

我们对比观察前两次移动平均的计算中用到的数据,发现二月份和三月份在两次计算中都用到了,而不同的是一月份和四月份。所以,我们可以去掉二月份和三月份求和的重复计算。

 80 

77

75

77

75

 72 

在第一次计算了80+77+75=232后,第二次我们可以用232-80+72=224代替77+75+72计算和。

运用间接法计算移动平均步骤如下:

月份

体重(kg

80

77

75

72

70

66

63

60

一、二、三月移动平均:80+77+75=232,232÷3=77.3

二、三、四月移动平均:232-80+72=224,224÷3=74.7

三、四、五月移动平均:224-77+70=217,217÷3=72.3

四、五、六月移动平均:217-75+66=208,208÷3=69.3

五、六、七月移动平均:208-72+63=199,199÷3=66.3

六、七、八月移动平均:199-70+60=189,189÷3=63

虽然在本例中,这种计算方式看不出什么好处,还是需要进行两次加减操作,但是如果移动平均的月份数增加,例如6个月平均,那么就省去了很多重复的求和操作,无论移动平均月份数多大,只要计算了第一个移动平均,后续都只需要减去前次计算的第一个月份值,加上新增的月份值即可。

运用的计算思维

这种转换计算方式的求解节省了很多时间,并且使得计算更加简洁,运用了“规约”的计算思维。

参考文献

[1]具宗万.算法问题实战策略[M].崔盛一,译.北京:人民邮电出版社,2015