最快可能的算法来求和最多 N
我想要一个真正快速的算法或 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);
.
相关文章