|
|
我的解题思路,可能比较笨哈:
1。扫描完1到100,生成一个50个数字的数列
2。第二次扫描,生成25数字的数列,每个数字是1到100每四个相邻数字的和:(1+2+3+4),(5+6+7+8)...(97+98+99+100)
3。第三次扫描,生成13个数字的数列,第一个数字是(97+98+99+100),后面依次是1到96每8个相邻数字的和——请注意这一次(97+98+99+100)没有用于计算,所以要在总和里面除掉
(97+98+99+100),(1+..+8),(9+..+16),(17+..+24),(25+..+32),(33+..+40),(41+..+48),(49+..+56),(57+..+64),(65+..+72),(73+..+80),(81+..+88),(89+..+96)
4。第四次扫描,共7个数字 ——请注意这一次(89+..+96)没有用于计算,所以要在总和里面除掉
(89+..+96),(97+98+99+100+1+..+8),(9+..+24),(25+..+40),(41+..+56),(57+..+72),(73+..+88)
5。第五次扫描,共4个数字,----请注意这一次(73+..+88)没有用于计算,所以要在总和里面除掉
(73+..+88),(89+..100+1+..+8),(9+..+40),(41+..+72)
6。后面一目了然,最后的数字显然就是1+2+...+100,总和是5050*8-(73+74+..+100)
|
|
|
|