最快可能的算法来求和最多 N

2022-01-09 00:00:00 algorithm sum c integer c++

我想要一个真正快速的算法或 C 中的代码来执行以下任务:对任何给定整数 N 求和从 1 到 N 的所有数字,而不假设 N 是正数.我做了一个从 1 到 N 的循环求和,但是太慢了.

I want a really fast algorithm or code in C to do the following task: sum all numbers from 1 to N for any given integer N, without assuming N is positive. I made a loop summing from 1 to N, but it is too slow.

推荐答案

如果N为正数:int sum = N*(N+1)/2;

如果 N 为负数:int tempN = -N;int sum = 1 + tempN*(tempN+1)/2 * (-1);.

相关文章