Problem C: 高斯算法-简单的数列2

Problem C: 高斯算法-简单的数列2

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 128 MiB

Description

数学题:1+2+3 - 4+5+6+7 - 8+ ... ... +77+78+79 - 80 = ?

编程题:输入一个整数,例如4 ;

将输入的数字+2 递增3次 例如 4,6,8 , 10  并按照上述数学题的加减规律4+6+8-10组成一组,输入这样一组的数有多少组 例如5组;

4+6+8-10+12+14+16-18+20+22+24-26+28+30+32-34+36+38+40-42=200

HINT

这个算式的特点是:每四个为一组,而且每组中都是前三个相加然后减去第四个数。


变减为加,整体推算。
四个数为一组,每组中第四个数(减数)为4的倍数,共80/4=20组
1+2+3-4+5+6+7-8+9+... ...+77+78+79-80
=(1+80)*80/2-[(4+80)*20/2]*2
=3240-1680
=1560
这样想:
开始把减数全部当成加数来算了,
最后应该减去这些减数的2倍。


分组累计:
每组得数依次为2,10,18,......154(恰好都是每组中第一个数的2倍)
1+2+3-4+5+6+7-8+9+......+77+78+79-80
=(1+2+3-4)+(5+6+7-8)+......+(77+78+79-80)
=2+10+18+......+146+154
=(2+154)*20/2
=1560
这样想:
四个数分为一组,80个数被分成20组:
(1*2)+(5*2)+(9*2)+......+(77*2)
加数,减数分开统计
把减数全部抽出来以后,剩下的加数是:
1+2+3,5+6+7,......,77+78+79
(1+2+3)+(5+6+7)+......(77+78+79)
=(6+234)*20/2
=2400
20个减数的和为:(4+80)*20/2=840
原式的得数为:
2400-840=1560
这样想:
80个数中60个是加数,剩下20个是减数