【愿成其身】[15]思维的优化 – 数学的魅力

本篇文章讲解题目:小学求和1到n

推荐先独立进行解题尝试,然后再阅读本篇讲解!


注意观察这道题与上一个求和的差别。

首先从一组数据变为了多组数据,但这一点在学习了循环之后应该已经不再是问题了。

我们只需要读取一个变量T记录组数,然后使用语句:

1
2
3
while(T--) {

}

在大括号里写程序即可。

这道题给的范围为$0 < n < 10 ^ 9$,所以如果依旧使用for的话循环最大要进行$10^9$次


评测机一秒大概可运行$10 ^ 7 \sim 10 ^ 8 $次 ,所以O(n)的复杂度是不行的

(推荐先自己查阅时间复杂度相关资料)


事实上,如果让小学生来解,这便是一道很简单的等差数列求和,所以可用求和公式直接算出答案。

当然,还需要注意数据范围的问题。


再次举这一题的例子也是想再次说明思维的重要性。

一道题随着题目描述的不同,解答方式也许有着差异,所以不要局限于某一种解法,多加尝试才能处变不惊。

该内容采用 CC BY-NC-SA 4.0 许可协议。

如果对您有帮助或存在意见建议,欢迎在下方评论交流。

最后更新于 2016-08-29 16:00:57