第30198题 单选题
计算1到n(n≤10^9)范围内所有能被2整除的整数之和,以下哪种是基于简单数学推导优化的最优实现方案?

现有需求为计算1到n(n最大可取10^9)范围内所有偶数的总和,要求算法效率尽可能高,避免出现超时、内存溢出等问题。

A

遍历1到n的所有整数,判断每个数是否为偶数,符合条件则累加入结果,时间复杂度O(n)

B

推导得到偶数和等价于 $\lfloor n/2 \rfloor * (\lfloor n/2 \rfloor + 1)$,直接代入公式计算,时间复杂度O(1)

C

预先存储1到10^9所有偶数的求和结果,查询时直接返回对应值,时间复杂度O(1)

D

用递归实现:若n是偶数则返回n + sum(n-1),否则返回sum(n-1),边界为sum(0)=0,时间复杂度O(n)

程序运行统计
暂无判题统计
提交0次 正确率0.00%
答案解析